פורסם 2010 בספטמבר 1315 שנים בבקשה, הסבר:http://www.parashift.com/c++-faq-lite/templates.html#faq-35.12הוא גם מציג פתרונות נוספים לבעיה הזו.בכלל, האתר הזה מומלץ אם אתה רוצה להרחיב את אופקיך לגבי ++C.
פורסם 2010 בספטמבר 1715 שנים מחבר אני לא מצליח להבין את הREAD הזה.אני מנסה לקרוא שורה. ממה שראיתי באינטרנט עושים את זה ככה:CFILET Read() const throw(CError) { T obj; if(_file.is_open()) { _file >> obj; if(_file.fail()) { throw CError("error while reading file."); } } else { throw CError("error file not open."); } return obj; }CELEMENTconst fstream& operator>>(const fstream& in, CElement& a){ char line[256]; in.getline(line,256,'\n'); a._number = atoi(line); return in;}ואני מקבל את השגיאה הזו על השורה של GETLINEError 1 error C2663: 'std::basic_istream<_Elem,_Traits>::getline' : 2 overloads have no legal conversion for 'this' pointerחשבתי שאולי זה הCHAR[] שאני שולח לGETLINE אבל ממה שאני מסתכל באינטרנט אנשים עושים ככה....
פורסם 2010 בספטמבר 1814 שנים מחבר כי אם לא אני מקבלError 1 error C2678: binary '>>' : no operator found which takes a left-hand operand of type 'const std::fstream' (or there is no acceptable conversion)כשאני עושה את זה: friend fstream& operator>>(fstream& in, CElement& a);ואם אני מנסה רק להגדיר את in כCONST הוא צועק לי:Error 2 error C2440: 'return' : cannot convert from 'const std::fstream' to 'std::fstream &'
פורסם 2010 בספטמבר 1814 שנים לא מפתיע, כי ניסית לעשות את הפונקציה read גם כן const. למה בכלל משהו אצלך הוא const?
פורסם 2010 בספטמבר 1814 שנים מחבר כי אני לא משנה שום אובייקט של CELEMENT.אני רק קורא מהקובץ לא כותב אליו..
פורסם 2010 בספטמבר 1814 שנים אתה לא משנה את הקובץ עצמו, אבל אתה כן משנה את האובייקט שקורא ממנו (סתם לדוגמה, האובייקט מכיל מצביע למיקום בתוך הקובץ, שמשתנה כאשר אתה קורא ממנו).
פורסם 2010 בספטמבר 1814 שנים מחבר כשאני עושה CONST על פונקציה אני צריך לחשוב גם על הפרמטרים שמועברים אלי או רק על הMEMBERS של המחלקה?
פורסם 2010 בספטמבר 1814 שנים רק על איברי המחלקה. הרי לפרמטרים אתה יכול לקבוע עבור כל אחד בנפרד אם להעביר אותו כ-const או לא.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.