我在头文件 (.h) 中声明了一个类,并在 .cpp 中定义了它的构造函数和函数(包括默认构造函数)
现在我想在另一个头文件中声明一个对象,并在另一个.cpp 文件中初始化它。我需要这样做,因为对象的初始化取决于 cpp 中的一些变量。 .h 文件中的声明是这样的:
Saboteur *activeFault; /*Saboteur is the class, activeFault the object*/
当我尝试编译我的程序时,出现以下错误:
error C2143: syntax error : missing ';' before '*'.
知道为什么会这样吗?
提示:#includes 都可以,最奇怪的是当编译器尝试编译定义了 class Saboteur
函数的 .cpp 文件时出现错误,但是它说错误在上面写的行中(这是另一个 cpp 文件)。
最佳答案
破坏者类的原型(prototype)。声明:
class Saboteur;
在 activeFault
声明之前。
然后,在其他地方,您提供了 class Saboteur
的完整定义。
关于c++ - 在头文件中声明对象 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13844610/