תוכנית עפה

תוכנית עפה

היי
אני עובדת בקודבלוקס ויש לי תוכנית בסי פלאס פלאס. עכשיו בניתי קלאס שעובר קומפילציה בלי שגיאות. הmain כבר נתון לי מהתרגיל בית... הבעיה היא שהתוכנית עפה. עשיתי דיבאג וגיליתי שהתוכנית שלי עפה ברגע שאני מנסה להשתמש ב: פונקציית פרינט מסויימת.. אבל הקטע שהרבה לפניי התוכנית גם משתמשת בפונקצייה הזאת של הפרינט אבל שם היא לא עפה. אז איזה סיבה יכולה להיות שדווקא בפרינט הזה הוא נופל ובפרינטים הקודמים לא?

תודה רבה לכל העוזרים :)
 
אגב זה מה שהדיבאגר רושם לי:



 

BravoMan

Active member
משהו חוסם את הטלפתיה שלי...

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

&nbsp
רוב הסיכויים, שאת מעבירה פרמטר לא מתאים לפונקציית הדפסה, אולי מצביע שערכו null, או משהו אחר שהפונקציה לא יודעת להתמודד איתו.
היות ואיננו יודעים מה את מעבירה, ומה היא פונקציית ההדפסה, וצילום המסך די חסר תועלת כי אינו מראה פרטים, לא נוכל לדעת...
 
חחחח אוקיי :)

אז כפי שאמרתי, הפונקצייה של המיין כבר נתונה לנו מהתרגיל בית. אז הנה דוגמא שבה המיין משתמש בפונקציה של הפרינט והיא כן עובדת:
&nbsp
BookList scottBooks = store.findAuthorBooks(author);
std::cout << "Books of " << author.getName() << " in the store." << std::endl;
scottBooks.print();
&nbsp
והנה דוגמא למצב שהיא לא עובדת:
&nbsp
std::cout << "Books of MIT Press." << std::endl;
BookList mitBooks = store.findPublisherBooks("MIT Press");
mitBooks.print();
&nbsp
והנה הפונקציה הפשוטה פשוטה של הפרינט:
&nbsp
&nbsp
void BookStore::print() const
{
_list.print();
&nbsp
}
&nbsp
יש רעיון? :)
&nbsp
 

BravoMan

Active member
התקדמנו קצת, אבל לא מספיק.


מה זה list_? איזה סוג אובייקט זה?
מה קורה אם פונקציית החיפוש לא מוצאת כלום? מה היא מחזירה?
&nbsp
איזה פרמטר פונקציית החיפוש מקבלת?
 
למעלה