报错如题,若使用Linux英文系统,可能报错内容如下:
Error:'SomeClass' does not name a type
这是因为SomeClass.h还没有被编译,编译器编译此段代码时找不到SomeClass类的定义。
解决方式是,在报错的类前先声明SomeClass类:
Class SomeClass;
一般就可以解决问题
报错实例:
class User
{
public:
MyMessageBox dataMsgBox;
};
class MyMessageBox
{
public:
void sendMessage(Message *msg, User *recvr);
Message receiveMessage();
vector<Message> *dataMessageList;
};
解决方案:
class MyMessageBox;
class User
{
public:
MyMessageBox dataMsgBox;
};
class MyMessageBox
{
public:
void sendMessage(Message *msg, User *recvr);
Message receiveMessage();
vector<Message> *dataMessageList;
};
此时,你还有可能遇到另一个错误:
错误:字段 ‘dataMessageList'类型不完全
这是因为没有包含此变量类型的声明头文件,加一个include就好
#include<vector>
using namespace std;