פורסם 2005 באפריל 1320 שנים בניתי פעם קובץ בC, ועכשיו אני מנסה להישתמש באותו הקובץ ב ++Cוההודעות שגיאה שאני מקבל זה בקשר להקצאות הדינמיות שליהשאלה שלי היא, איך אני יכול להפוך את השורה הזו:temp=malloc(sizeof (node));לתואמת ++C??הקטע קוד המלא הוא:void Insert_After (node *list, TYP val){ node * temp; if (list!=NULL) { temp=malloc(sizeof (node)); temp->info=val; temp->next=list->next; list->next=temp; } else printf("\naction denied\n");}
פורסם 2005 באפריל 1320 שנים מחבר אני עשיתי רק temp = new nodeוזה עובד לי, אני חייב להוסיף גם את ה[node]??ואת הdelete[] temp צריך לשים בסוף הפונקציה או התוכנית? והאם זה המקביל לfree? אם free תקף ב ++C?
פורסם 2005 באפריל 1320 שנים מחבר אני עשיתי רק temp = new nodeוזה עובד לי, אני חייב להוסיף גם את ה[node]??ואת הdelete[] temp צריך לשים בסוף הפונקציה או התוכנית? והאם זה המקביל לfree? אם free תקף ב ++C? יש שם עוד כמה שאלות...
פורסם 2005 באפריל 1320 שנים טעות שליאתה אמור לעשות temp = new nodeחשבתי שאתה רוצה להגדיר מערךבמידה ואתה רוצה מערך מסוג node בגודל m אתה צריך לעשות temp = new node[m]בגלל שהגדרת רק איבר אחד אתה צריך לעשות delete temp בלי הסוגרייםאת ה-delete אתה צריך לעשות איפה שאתה כבר לא צריך את הזיכרון הזה, בדיוק באותו מקום שהיית עושה free (זה מקביל)
פורסם 2005 באפריל 1320 שנים זה תלוי מה אתה צריך... אתה עקרונית לא חייב בכלל [], (גם הdelete יהיה בלי[])שאתה עושה [] אתה למעשה אומר מספר נתונים (מערך) מסוג node.אתה הdelete אתה עושה כמו free ובאותו מקום
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.