[問題] MFC環境程式碼問題

看板C_and_CPP (C/C++)作者 (愛過深知情重)時間15年前 (2011/04/03 02:45), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) MFC 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 我利用堆疊看了一下 當執行這一行dc.TextOutA(70, 75, girl2.boyfriend_is()時 他說type & my_CGirl CXX0030:錯誤:無法評估算式 希望有大大能稍微題點一下>"< 程式碼(Code):(請善用置底文網頁, 記得排版) CBoy boy ("Danny", ehandsome); CGirl girl1 ("Mary", erich); CGirl girl2 ("Cindy", ehandsome); dc.TextOutA(70, 75, girl2.boyfriend_is()); 以下是完整H標頭檔 class CGirl; class CBoy { private: CString BName; int type; CGirl * my_CGirl; public: CBoy(const char * name , int a_type) { BName = name; type = a_type; } const char * my_name() { return BName; } bool make_friend(CGirl &girl); friend CGirl; }; class CGirl { private: CString GName; int favorite_type; CBoy * my_CBoy; public: friend CBoy; CGirl(const char * name , int type) { GName = name; favorite_type = type; } const char * my_name() { return GName; } CString boyfriend_is() { return my_CBoy->my_name(); } bool make_friend(CBoy *boy); }; 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.162.60

04/03 12:00, , 2F
girl2裡面的boy pointer指向是無效的記憶體
04/03 12:00, 2F

04/03 12:00, , 3F
應該要先呼呼girl2.make_friend(boy)
04/03 12:00, 3F

04/03 12:01, , 4F
另外,最好在建構子把boy pointer初使化為NULL
04/03 12:01, 4F
文章代碼(AID): #1DbsxR4C (C_and_CPP)
文章代碼(AID): #1DbsxR4C (C_and_CPP)