C++ 访问指向另一个源文件中类的指针 vector

标签 c++ class pointers stdvector

<分区>

** 重写以使其更有意义

我有 3 个类,我希望这些类的实例能够相互交互,而不是通过 Controller 对象。我遇到的问题是它们没有在彼此的 .h 文件中定义,我不知道如何正确地做到这一点。下面是一些代码来解释;

游戏.cpp:

#include "game.h"
#include "Class - cEntity.h"
#include "Class - cGUI.h"

cGui *gui;

vector<cEntity*>    entities;

类-cEntity.h:

#include "game.h"
#include "Class - cGui.h"

extern cGui *gui;

class cEntity{
...
};

我编译使用这种结构的代码,但出现了 2 个错误;

错误 7 错误 C2143:语法错误:缺少“;”在 '*' 之前 c:\dropbox\of_v0.8.0_vs_release\apps\myapps\zombierts\src\entities.h 10

错误 8 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++不支持default-int c:\dropbox\of_v0.8.0_vs_release\apps\myapps\zombierts\src\entities.h 10

任何人都可以帮助澄清我哪里出错了吗?

谢谢

最佳答案

您可以为 vector 制作标题。像这样:

cEntity.h:

class cEntity
{
    // ...
};

interests.h:

#include <vector>

class cEntity;

extern std::vector<cEntity*> interests;

现在实现:

cEntity.cpp:

#include "cEntity.h"

// implement member functions and define static data members

兴趣.cpp:

#include "interests.h"

std::vector<cEntity*> interests;

凡是需要引用vector的地方,加上#include "interests.h",如果需要对实体进行操作,还要加上#include "cEntity.h"。 h".

关于C++ 访问指向另一个源文件中类的指针 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18346543/

相关文章:

c++ - Qt C++ 如何使用QList< >::const_iterator?

今天的 C++ 多线程与 C++ 11 的流动情况 - 书籍建议

c++ - 为什么我的 C++ 程序在一台机器上崩溃,而在另一台机器上却没有?

Java尝试创建一个类来将ArrayList打印到文件

c - 为什么指针在此处被类型转换为 char?

C - 传递给函数的指针不保留指定的字符串

c++ - 正确删除EGL Opengles 2.0

java - 在创建扩展父 fragment 的子 fragment 时调用 newInstance()

c++ - 使用 C++ 引用此函数的正确方法是什么?

c - 在c中的循环中添加指向动态指针数组的指针