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

来源:互联网 发布:360电脑数据恢复软件 编辑:程序博客网 时间:2024/06/06 02:07

报错如题,若使用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;





0 0
原创粉丝点击