انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: سید وحید رضا برهانی در 13 فروردین 1389، 10:07 بظ
-
سلام
نمی دونم این خطا چیه وچرا به وجود می یاد یکی بیاد کمک کنه متن کامل خطا:
vahid@GNU:~/newproject$ g++ nc.cpp
/tmp/cchViyZW.o: In function `main':
nc.cpp:(.text+0x6b): undefined reference to `compare(int*, int*, int, int)'
collect2: ld returned 1 exit status
و سورسی که کامپایل می کنم
#include <iostream>
using namespace std;
//void sprint (int string[] , int k);
int compare(int n[] ,int m[],int nk ,int mk);
int n[5];
int main()
{
for (int j=3;j<5;j++)
n[j]=7;
int m[2];
m[0]=1;
m[1]=6;
int roc=0;
roc=compare (n ,m ,5 ,2);
cout << roc<<endl;
return 0;
}
///newcompare
int comapre(int n[] ,int m[] ,int nk ,int mk)
{
int rc;///return compare
int ni;
int mi;
ni=mi=0;
while (n[ni]==0)
ni++;
while(m[mi]==0)
mi++;
int non ,nom ;/// number of n and m!!
non=nk-ni;
nom=nk-mi;
if (non>nom)
rc=1;
if (nom>non)
rc=2;
if (nom==non)
{
int i=0;
while (i<=nom)/// farghi nemikone nom=non
{
if(n[ni+1]>m[mi+1])
{
rc=1;
break;
}
if(m[mi+1]>n[ni+1])
{
rc=2;
break;
}
if(n[ni+1]==m[mi+1])
{
ni++;
mi++;
}
i++;
if(i==nk)
{
rc=0;
break;
}
}
}
return rc;
}
ممنون
-
ارایه هاتو new کن ببین چی میشه ::)
-
سلام
منظورت از new متغیر پویاست؟
-
وقتی آرایه m رو تعریف میکنید، متغیر m به اولین عضو آرایه اشاره میکنه. پس وقتی تابع compare رو با m و n صدا میزنید، برنامه دنبال تابعی میگرده که دو آرگومان اولش اشارهگر به int باشن. و چون تابع compare شما آرگومانهاش آرایه هستن، خطا میده که این تابع پیدا نشده.
-
اره منظورم همونه .
int* a = NULL; // Pointer to int, initialize to nothing.
int n; // Size needed for array
cin >> n; // Read in the size
a = new int[n]; // Allocate n ints and save ptr in a.
for (int i=0; i<n; i++) {
a[i] = 0; // Initialize all elements to zero.
}
. . . // Use a as a normal array
delete [] a; // When done, free memory pointed to by a.
a = NULL; // Clear a to prevent using invalid memory reference.
البته به جای n عدد هم میتونی بزاری ;D
-
int comapre(int n[] ,int m[] ,int nk ,int mk)
{
compare باید باشه.
-
سلام
ممنون از دوستان
int comapre(int n[] ,int m[] ,int nk ,int mk)
{
compare باید باشه.
دقیقا دیشب خودمم دیدم کلی خندیدم