טוב, עוד שאלה

vinney

Well-known member
טוב, עוד שאלה

אני משתמש בifstream וofstream בשביל הIO שלי. כשאני מלנקג' את הפרוייקט (VC6, עם MDd, לפני שתקפצו עליי, ואפילו הוספתי את הLIBים ידנית), אני מקבל שגיאות כדוגמת:
database.obj : error LNK2001: unresolved external symbol "class std::basic_ifstream<char,struct std::char_traits<char> > & __cdecl operator>>(class std::basic_ifstream<char,struct std::char_traits<char> > &,class Account &)" (??5@YAAAV?$basic_ifstre am@DU?$char_traits@D@std@@@std@@AAV01@AAVAccount@@@Z)​
על שום מה ולמה? תחקיר בגוגל לא העלה שום דבר חדש, חוץ מזה שזה קורה לרבים ורבים פותרים את זה בדרך עלומה שהם לא מפרסמים
 

ahab

New member
מה עם הגדרת הפונקציה?

אתה יכול לרשום כאן את הפונקציה?
 

vinney

Well-known member
זה fstream

עשיתי overload לאופרטור << עבור המחלקה שלי:
ofstream &operator<< (ofstream &os, Account &Acc) { return os << (Base)Acc << Acc.GetOperations(); }​
 

אמיר ט

New member
תנסה להוסיף friend

תצהיר על המתודה כך :
friend ofstream& operator << ( ofstream& os, const Account& Acc)​
יש סיכוי סביר שזה יעבוד
 

vinney

Well-known member
ניסיתי כבר

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

annefan

New member
תחליט

זה אופרטור >> שמחזיר ofstream או אופרטור << שמחזיר ifstream? הגדרת הפונקתיה שלך היא לראשון, הטעות בלינק היא על השני.
 

vinney

Well-known member
גם וגם

נתתי דוגמא ל ofstream, אבל גם ifstream באותה בעיה.
 

annefan

New member
אני אחרי יום צום

אם אתה יכול תעלה קבצים דחוסים ב-ZIP.
 
למעלה