您的位置:首页 > 编程语言 > C语言/C++

C++编译时遇到“错误:‘SomeClass’没有命名一个类型”

2017-05-12 16:01 369 查看
报错如题,若使用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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux C++ 编译器
相关文章推荐