עבור לתוכן

מתחיל בC++, יש לי בעיה קטנה...

Featured Replies

פורסם

אני לא מבין מה הדבאגר רוצה ממני ניסיתי כל דבר..

מצורפת תמונה..

[attachment deleted by admin]

פורסם

זה לא דיבאגר, זה קומפיילר.

תוסיף הצהרות לטיפוסים של המשתנים בתוך הגדרת הפונקציה.

char loop ( char arr[][], int x, int y);

פורסם
  • מחבר

היה לי הרושם שאני לא צריך לכתוב את הטיפוסים אלא רק את השמות כי הם כבר מוגדרים לא?

תיקנתי ועכשיו הוא עושה עוד בעיות....

[attachment deleted by admin]

פורסם

לא כותבים CHAR LOOP . ככה אתה פשוט מחריז על משתנה מסוג CHAR ששמו LOOP ולא קורא לפונקציה.

אתה צריך ליצור משתנה פוינטר, אשר יקבל את מה שהפונקציה תחזיר.

התחביר :

משתנה = שם הפונקציה(ארגומנט 1, ארגומנט 2,ארגומנט 3);

פורסם

הוא רושם לך מה הבעיה..

תסתכל פה:

http://irc.essex.ac.uk/www.iota-six.co.uk/c/f2_multidimensional_arrays.asp

בדוגמא למטה

http://irc.essex.ac.uk/www.iota-six.co.uk/c/f3_passing_arrays_to_functions.asp

בכל מקרה, מה שאתה עושה בינתיים זה C לא C++ ואני ממליץ לך לקרוא איזה ספר באופן מסודר שיסביר לך את היסודות טוב...

פורסם
  • מחבר

לא הבנתי..

איפה אני אמור לכתוב את זה?

מצטער על הבורות

אני יודע שאני צריך לקרוא לפונקציה מתוך הMAIN וזה מה שעשיתי לא?

ואני לא מבין מה השגיאה אז אם תוכלו גם להסביר לי...

עריכה*

לא הבנתי כלום ממה שנתת לי...

פורסם

אם אני מבין נכון השורה שבה כתבת loop אמורה להיות הגדרת פונקציה, לא קריאה לפונקציה.

בעיה ראשונה: שמת ; בשורה הזאת (אחרי סגירת הסוגריים שאחרי int y). כשמגדירים פונקציה (בניגוד לקריאה לפונקציה או ל-declaration - לא חשוב כרגע) לא שמים אחרי הפרמטרים שלה נקודה-פסיק. שים לב שבתמונה הראשונה שהעלת לא עשית את הטעות הזאת.

דבר שני - כששולחים מערך רב ממדי לפונקציה חייבים להגדיר מה הגודל של כל הממדים שלו חוץ מהאחרון. הסיבה לזה קשורה לדרך שבה הקומפיילר עובד עם מערכים ולא ניכנס אליה כאן. אתה לא הגדרת גודל לאף אחד מהם. שים לב לאיך הם עושים את זה בקישור השני של Omniscience (תחת Multidimensional Arrays).

ועוד בעיה שהקומפיילר לא הגיע אליה: אם אני לא טועה ההחזרה שלך לא תעבוד כי אתה מחזיר את arr שהוא מסוג char דו ממדי למרות שהסוג שהפונקציה מחזירה הוא char סתם.

מקווה שלא יצא מסובך מדי

______________

ועוד משהו: רק לוודא שזה ברור: מבחינת הקומפיילר אין שום קשר בין המשתנים שהגדרת לפני הפונקציה (x,y ו-arr) לבין המשתנים שהפונקציה מקבלת. זה שיש להם אותם שמות לא אומר כלום.

פורסם
  • מחבר

הבנתי תודה רבה......

ארכיון

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

דיונים חדשים