*. vector::size_type j ;
我靠,聲明了一個j ,你說我少了分號,還說我j沒有定義,我靠!
發現了10分鐘,才知道要這樣子:vector<int>::size_type j; ,,,,,,,,,,,,,,,,,這不是坑爹是什嗎? c++你對得起我嗎?嘻嘻,瞎說的。
*. 寫了個方法在另一個方法中調用,不成功:後來才發現,原來是static方法,所以我要把這個方法改成static,這樣才允許調用。
*. 那個東西:void ptn (iterator it ); 這個方法是不能編譯通過的。
解決:void ptn (list<int>::iterator it);
例如:void ptn (list l); 這個也是不通過的,因為list不是一個類型。是個模板罷了。
解決:void ptn (list<int> l) ;這樣才通過哦。
*. 錯誤:new types may not be defined in a return type
這個錯誤是:class xxx {} , 在定義完了一個類的時候,我沒有帶上;分號。所以新類型不能定義在木有;之後。
*. static const int s_abc = 5; 注意了:類中的static const 類型,需要直接在類內賦值,不能夠在.cpp哪裡賦值。因為如果其他地方引用的話,會出錯,說不清楚s_abc的類型。
所以,我們還是老實一點點,static const 類型的變數,直接在.h中直接給值算了。不要在.cpp那裡給。
*** 氣死我了,哈哈。本來說static const int 這中類型可以直接寫在類的內部,所以我任務static const char a='c';也是可以寫在類內的,我靠!居然報錯,難道int和char的區別有這麼大嗎??? 報錯:沒有定義。 就是沒有實現。 現在我只好改正過來,在類內聲明,在.cpp外定義。唉,我累個去阿,什麼時候才能不瞎報錯哦。
const unsigned char RMsgManage::oxff =0xFF;//分隔字元
*.媽的,這麼多個類,裡面定義的東西,互相都要用,該如何是好呢?前面的類用到後面的定義,後面的類用到前面的定義。
所以呢,1.要麼把公用的東東都提取出來,放到一個單獨的.h檔案中
2.要麼控制好類的先後定義順序,class cwj;這個前置申明,只能用在不需要其定義的時候。 而#include "cwj.h"則用在需要使用到cwj類的內部類型定義的時候哦。
報錯:no matching function for call to 'RMsgManage::RMsgManage()
表示沒有相應的建構函式來調用,我靠,這錯誤,我輸就輸在英文上,如果英文好的話,不是一眼就看出他報錯的意義嗎,對吧。靠,
經驗:多看:提示,多調:google翻譯。 奶奶的。
*. 注意啦:類內的枚舉就是static const int 類型的,所以呢,訪問方式同static const int類型的方式一致: Cwj::MEIJU1.如斯訪問。別總是Cwj::Enum_mm::MEIJU1.這樣子會報錯,說:Enum_mm不是一個類型哦。 我累個去。阿
*. 每次char* buf = new char[size]; 的時候,老師用delete buf; 注意啦,這個習慣要改掉,錯誤了:應該delete[] buf;
IPC_CREAT我總是把這個參數寫成:IPC_CREATE,搞得報錯說沒有該東東,我就納悶了,我去。