我有三个类,类演员,类细胞,和类的行为。类Actor实例化行为的一个子类(在行为头文件中定义)。行为使用方法来分析指向Actor的指针向量以及指向单元的指针向量。单元格具有分析指向单元格的指针矢量的方法,并且它们包含指向Actors的指针向量。哦,是的,并且在Actor头文件中有一种枚举的标题数据类型,以某种方式被所有类使用。 (通过在每个包含Actor的文件中声明一个extern枚举标题数据类型)。三个互连对象C++
我已经得到了大部分的代码,打了一个棘手的问题时,我得到了有关包括和递归包括错误的一个巨大的名单,并已赶工,在这几个小时。我可以使用一些帮助来确定什么是安排这些对象的最佳方式,以便它们一起工作。
因此,再次重申:
Actor: Behavior
Behavior: vector of pointers to Cells, vector of pointers to Actors
Cells: vector of pinters to Cells, vector of pointers to Actors
Heading: Enumerated, declared extern in all classes, currently stored in Actor.
任何意见,以如何去包括哪些头文件在哪里?我已经尝试了不同的前置声明的很多很多的排列,包括,等我真的不知道现在在哪里去了。
谢谢!
编辑:更新我的类和头文件。
Actor: Move, Heading
Move: Behavior Heading
Behavior: Cell, Actor Heading
Cell: Cell, Actor Heading
Heading: Used by all.
既然这样,这里有什么被包含:
Behavior.h: Forward declarations of Cell and Actor
Behavior.cpp: Includes Behavior.h, Cell.h, Actor.h
Cell.h: Forward Declaration of Actor
Cell.cpp: includes Cell.h, Heading.h, Actor.h
Actor.h: Includes Behavior.h, Heading.h.
Actor.cpp: includes actor.h
Move.h: Includes Behavior.h, Heading.h
Move.cpp: Includes move.h, Heading.h, Cell.h, Actor.h
Heading: Includes nothing, declares nothing.
几乎是唯一有相关的错误,我看到的是移动中的Actor.h文件中的一个实例有一个不完整类型。
编辑#2:添加了包含行为和在actor.cpp中移动并将它们从actor.h中移除,并将我的实例化为创建一个指针,并对我进行了咳嗽和咆哮,但它已成功构建。谢谢你们的帮助!
什么样的错误?你能向我们展示你的课程吗? – besworland
您也可以转发声明枚举! – Skizz
我不能不幸。我可以给你的要点,并说我的应用程序将形成一个Cell对象的世界,它继而保存Actor对象的向量和指向其邻居的向量向量(利用标题和其他单元格)。 Actor对象使用Behavior对象来创建Move对象以将其自身从Cell传输到Cell。 – valkn0t