我正在重写一个项目以进行重组和改进,由于某种原因,我遇到了一个奇怪的错误。
我有标题:
//Main.h
#include "Errors.h"
class MainClass
{
public:
ErrorClass errors;
};
//Errors.h
class ErrorClass
{
public:
MainClass* mainClassPtr;
};
//Main.cpp
#include "Main.h"
//nothing except the constructor
//Errors.cpp
#include "Main.h"
//constructor only
我在原始项目中进行了完全相同的设置,并且可以正常编译,但是在这个新项目中(还没有功能)我得到了错误:
error C2143: syntax error : missing ';' before '*'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
5 次(共 10 个错误)。它们都指向Errors.h中的第 21 行,其中包含:
private:
MainClass* mainClassPtr; //line 21
我试图清理和重建,但错误仍在继续。
为什么这在一个项目中而不是在另一个项目中起作用,我做错了什么,我怎样才能使它起作用?