声明一个类的对象为成员变量,报错解决方法
声明一个类的对象为成员变量,报错
我在一个类的.h文件里,声明了另一个类的对象,CUdpAsySk *m_pUDPPR100;编译报错,如下:
error C2143: 语法错误 : 缺少“;”(在“*”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
,然后我把这句声明放到.cpp里声明,就编译通过了,请问这是为什么呢?望各位大虾指点!
------解决方案--------------------
.h文件里,没有包含声明CUdpAsySk 的头文件。
------解决方案--------------------
error C2143: 语法错误 : 缺少“;”(在“*”的前面)
可能是重复包括该头文件,也就是在别的地方也包括该文件并参与编绎了,一般头文件都有:#ifdef _CUDP_(名字是你自己定义的)
#define _CUDP_
定义自己的变量和类及函数
#endif
这么做的目的就是防止重复编绎,你看看你的CUdpAsySk头文件里有没有这个。
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
这个你用鼠标在这个错误双击,就会跳到相应的代码上。你把函数加上类型,比如:void fun();int fun();等,不能定义fun();这种在VC6上没问题,但面VS2003以上就不行了,必须显性加上函数类型
我在一个类的.h文件里,声明了另一个类的对象,CUdpAsySk *m_pUDPPR100;编译报错,如下:
error C2143: 语法错误 : 缺少“;”(在“*”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
,然后我把这句声明放到.cpp里声明,就编译通过了,请问这是为什么呢?望各位大虾指点!
------解决方案--------------------
.h文件里,没有包含声明CUdpAsySk 的头文件。
------解决方案--------------------
error C2143: 语法错误 : 缺少“;”(在“*”的前面)
可能是重复包括该头文件,也就是在别的地方也包括该文件并参与编绎了,一般头文件都有:#ifdef _CUDP_(名字是你自己定义的)
#define _CUDP_
定义自己的变量和类及函数
#endif
这么做的目的就是防止重复编绎,你看看你的CUdpAsySk头文件里有没有这个。
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
这个你用鼠标在这个错误双击,就会跳到相应的代码上。你把函数加上类型,比如:void fun();int fun();等,不能定义fun();这种在VC6上没问题,但面VS2003以上就不行了,必须显性加上函数类型