*. 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,搞得报错说没有该东东,我就纳闷了,我去。