我在文件中定义了一个类board.H:
class Board
{
private:
...
public:
...
};
Run Code Online (Sandbox Code Playgroud)
在另一个类中,我希望有一个成员,它是一个指向Board对象的指针:
#include "board.H"
class Bear
{
private:
Board* board;
...
public:
...
};
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它(在linux中使用g ++)时,我收到以下错误:
bear.H:15: error: ISO C++ forbids declaration of `Board' with no type
bear.H:15: error: expected `;' before '*' token
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
常见问题.您可能#include "bear.H"在"board.H"文件或"board.H"包含的文件中有一行.
因此,当你将"bear.H"包含在"board.H"中时,"bear.H"文件将被处理并尝试包含"board.H",但该文件已经被处理,因此标题保护"熊. H"将不再包括内容.但是,"bear.H"的处理没有领先的"Board"类定义.