[英]Declaring object in header file C++
我在头文件(.h)中声明了一个类,并在.cpp中定义了它的构造函数和函数(包括默认构造函数)
现在,我想在另一个头文件中声明一个对象,并在另一个.cpp文件中对其进行初始化。 我需要这样做,因为对象的初始化取决于cpp中的某些变量。 .h文件中的声明如下所示:
Saboteur *activeFault; /*Saboteur is the class, activeFault the object*/
当我尝试编译程序时,出现以下错误:
错误C2143:语法错误:缺少';' 在“ *”之前。
任何线索为什么会发生这种情况?
提示:#include都可以,最奇怪的是,当编译器尝试编译定义了class Saboteur
的函数的.cpp文件时,我得到了错误,但它表示错误在所写的行中以上(这是另一个cpp文件)。
破坏分子阶级的原型。 宣布:
class Saboteur;
在声明activeFault
之前。
然后,在其他地方,提供class Saboteur
的完整定义。
有很多想法
可能在实际包含破坏者类之前先包含了包含破坏者的头文件。 在这种情况下,请添加其他.h文件:
破坏者阶级;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.