c++ - 在头文件中声明对象 C++

标签 c++ oop class header

我在头文件 (.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/

相关文章:

c++ - 使用 C++ 脚本自动化 CMake 构建

php - 使用 PDO 安全可靠的面向对象插入

c++ - Friend Operator << 重载问题,

class - struct vs class 用于围绕外语编写 D 包装器

c++ - 层次结构中指向类的指针的相等性

c++ - 以二进制格式写入文件

c++ - 如何编写在模板类中返回指向结构对象的指针中声明的函数的定义?

c++ - 部署qt mysql应用程序

php - 单例、传递对象、使用静态、返回错误还是全局变量?

ios - 在 Swift 中存储一个没有初始化的对象