פורסם 2005 בינואר 820 שנים בקוד דלהלן אני מעביר לפונקציה מערך מסוג int ובפונקציה מוסיף לו איבר עם ערך:void myFunc(int *);int main(){int *myArr;myFunc(myArr);return 0;}void myFunc(int *myA){myA[0] = 1;}התכנית עוברת הידור ללא הודעות שגיאה.התכנית רצה אך ניתקעת בפונקציה ולא מוציאה שום הודעת שגיאה.מערכת ההפעלה xp מודיעה שהתרחש משהו לא טוב ושואלת אם להודיע על השגיאה למיקרוסופט.יש למישהו הצעה מוצלחת יותר מזו של ה XP ?תודה !
פורסם 2005 בינואר 820 שנים לא שלחת לה מערך, שלחת לה מצביע למקום אקראי בזיכרון (וכמובן שאסור לך לכתוב לשם)אתה צריך בתוך ה-main להגדיר את myArr כמערך ולא כמצביע ע"יint myArr[10];
פורסם 2005 בינואר 920 שנים או אם אתה מתעקש ללכת עם פויטרים אז כבר:[pre]int *arr;arr = new int[10]...your code...delete []arr;[/pre]
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.