עבור לתוכן

שאלה ב - C .. פויינטרים

Featured Replies

פורסם

אני יודע שזה הולך להיות דבילי אבל אני מעוניין לדעת למה אני מקבל שגיאה ב main הבא:

השגיאה היא : illegal initialization in function main

בשורה שבה אני מגדיר את arrPP

#include "ptp.c"

int main () {
char * arrP1[]= { "father" , "mother" , 0 },
* arrP2[]= { "sister" , "brother" , "grandfather", 0 },
* arrP3[]= { "grandmother" , 0 },
* arrP4[]= { "uncle" , "aunt" , 0 };
char ** arrPP[] = { arrP1 , arrP2 , arrP3 , arrP4 , 0 };

return 0;
}

תודה מראש לעוזרים

פורסם

באיזה קומפיילר אתה משתמש?

פורסם

אולי התכוונת ל .h

פורסם
  • מחבר

ב Borland TC הישן "והטוב"

לא הבנתי אותך yigael

פורסם

ניסית להוסיף עוד כוכבית לarrpp?

אוי הרבה זמן לא ראיתי מצביעים אבל אני ינסה:)

תראה אני חושב שarrpp מצביע למערך של מצביעים (arrp1, arrp2, arrp3, arrp4) שמצביעים על מערך מצביעים שמצביעים על מערך תווים (מחרוזת).

אני חושב שarrp1 וarrp2 וכ"ו צריכים להיום על שני כוכביות כי אתה מגדיר מערך מצביעים למחרוזות.

פורסם

נסית להוסיף בסוגריים של main את הvoid ?

אם אתה משתמש בTC אז גם לי זה עושה כאלו בעיות

תנסה לכתוב

int main(void)

אולי זה יעזור לי זה עזר לפעמים

פורסם

ה-main שלו אמור להתקמפל בכל קומפיילר שתומך בסטנדרט. זו לא הבעיה.

פורסם

לא בדקתי על קומפיילר, אבל נראה לי שה-main שלך בסדר. כמו שכבר אמרו פה, בורלנד C ישן מאוד. תעבור למשהו נורמלי.

אה וחוץ מזה:

typedef, בנאדם! לא המציאו אותו סתם בשביל שתהיה עוד מילה שמורה בשפה, אתה יודע.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים