בעיה ב-C

בעיה ב-C

יש לי תרגיל לבנות עץ ביטוי בינארי בשפת סי... בכל מקרה, כחלק מהאלגוריתם, צריך ליצור מחסנית שתאכסן או מצביע לעץ, או מספר, או אופרטור (המיוצג כתו), ולכן עשיתי union עם שלושת הסוגים האלה ובנוסף בניתי עוד struct שיש בו את היוניון הזה ו-enum שאומר לי איזה סוג נתונים אני מחזיק ביוניון שלי.. בקיצור, עשיתי שהמחסנית שלי תחזיק ערכים מטיפוס הנתונים החדש שבניתי (הstruct הנ"ל), והגדרתי גם משתנה זמני מאותו טיפוס, שאליו הכנסתי את הנתונים לפני ההכנסה למחסנית - מספר לתוך החלק של המספר ביוניון שלי, וערך שאומר לי ששמרתי מספר. מה שקרה (בבדיקה בעזרת הדיבאגר) זה שאני רואה שכל פעם בתוך המחסנית נשמר רק הנתון שבתוך היוניון, ולא נשמר הנתון הנוסף שאומר איזה סוג נתונים מאוכסן לי כרגע ביוניון! אבקש את עזרתכם בנושא אגב, לצרף קוד יהיה קצת מסובך, כי צריך להוסיף גם את המימוש של המחסנית, של העץ וכל זה, למרות שאני לא חושב שהבעיה היא בהם, כי הם עבדו לי כבר בעבר
 

אלדד28

New member
אני רוצה לראות את כל הקוד שקשור

להכנסת הערך למערך. מה ההגדרה של ה-instance הזמני הזה, איך יצרת אותו בדיוק, איך אתה מעביר אותו למחסנית, ואיך הוא נשמר במחסנית. header של המחסנית לא יזיק. אני מקווה שזה יספיק לזיהוי הבעיה.
 
ז"א...

פשוט השתמשתי במחסנית סטטית במקום בדינאמית... וזה פתאום עבד... לא שאני מבין למה, אבל אני אבדוק את זה מחר כבר
 
אתה יודע מה מוזר?

זו תופעה שחוזרת על עצמה אצל הרבה תוכניתנים ומתכנתים למיניהם שיצא לי להכיר: כשמשהו "פתאום" לא עובד, והם לא יודעים למה - צעקות, טענות, שאלות, בכי, דכאון, הסתגרות, אומללות, חוסר שינה, בחילות, התפרצויות, ובהייה בחלל. כמשהו "פתאום" עובד, והם לא יודעים למה - אפס, כלום, שום דבר, NOTHING, ZIP, ZIT, ZILCH, ZERO, NADA, גורנישט, אדישות מוחלטת, שמחת חיים, אושר ובריאות, העולם ורוד, אפשר לנשום. אז כתשנה משהו באפליקציה שלך ואז היא שוב "פתאום" לא תעבוד, לפחות תתענג על הימים היפים שבהם היית מאושר
 
שמע...

זה לא שלא איכפת לי למה זה לא עובד, אני יודע פשוט שחקרתי את הבעיה לפחות 4-5 שעות עם דיבאגר ואני יודע איפה היא, והבעיה היא כנראה במימוש של המחסנית הדינאמית שלי... בכל מקרה - כל מה שאמרתי הוא שכרגע זה עובד, ואני לא אטריח אתכם בלעזור לי, אני אשאל פשוט את אחד המורים שלי על זה... תודה רבה בכל מקרה...
 
כל מה שהתכוונתי

הוא שהסקרנות למה משהו עובד בריאה לא פחות מהסקרנות למה משהו לא עובד... ושווה את אותו המאמץ. נאמר ברוח טובה כמובן
 
למעלה