13-11-2007, 03:38
|
|
|
|
חבר מתאריך: 15.04.06
הודעות: 18,034
|
|
שגיאה בעת שליחה לפונקציה
אני שולח מטריצה לפונקציה ואני מקבל שגיאה:
קוד:
int B[N*N][2]={0};
sum=f(A[N][N],B[][2],sum);
כאן הוא טוען שיש:
11 F:\Dev-Cpp\mahatc\4.c expected primary-expression before ']' token
F:\Dev-Cpp\mahatc\4.c In function `int f(int (*)[5], int (*)[2], int)':
ואין לוג ארוך של בעיות אחרי הקימפול.
אמור להיות תקין,אך ישנה בעיה. לא עזר אז ניסיתי בדרך הבאה:
קוד:
int B[N*N][2]={0};
sum=f(A[N][N],B[N*N][2],sum);
כאן הוא טוען שיש המרה ולא ביצעתי פעולה שכזאת, לפחות עד כמה שידוע לי.
11 F:\Dev-Cpp\mahatc\4.c invalid conversion from `int' to `int (*)[5]'
11 F:\Dev-Cpp\mahatc\4.c initializing argument 1 of `int f(int (*)[5], int (*)[2], int)'
11 F:\Dev-Cpp\mahatc\4.c invalid conversion from `int' to `int (*)[2]'
11 F:\Dev-Cpp\mahatc\4.c initializing argument 2 of `int f(int (*)[5], int (*)[2], int)'
הלוג ארוך יותר ויש יותר בעיות בדרך הזאת.
כיצד פותרים את הבעיה?
אילו לא שיעורי בית, אלא לימודים לבחינה עוד כמה חודשים. כך שאפשר לשאול מדוע יש שגיאות או הזהרות.
אין בעיה עם מטריצה A או sum, הם נשלחו.
_____________________________________
will you marry me nesli barda? Operating system: Linux The day Microsoft & apple makes a product that does not suck will be the day they start making vacuum cleaners. say no to Apple&Facebook&MS&Samsung IL&Nokia&Hot&Yes,but say yes to Google
|