【问题标题】:c++: Mutually referenced structs in multi-file c++ project [duplicate]c ++:多文件c ++项目中相互引用的结构[重复]
【发布时间】:2018-07-30 04:40:38
【问题描述】:

起草一个项目,我发现在main.cpp 文件中创建相互引用的结构最简单,如下所示:

struct component;
struct vertex{
     component * parent;
     ...;
}
struct component{
     vector<vertex *> vertices;
     ...;
}

在我开始将这些结构的最终版本编码为头文件中的类之前,这是公认的方法吗?

或者有没有一种方法可以“假定”创建相互引用的结构/类?

【问题讨论】:

  • 将它们放在头文件中而不是 C++ 文件中。使您的头文件自包含。例如,由于您使用的是vector,因此您的标题中将有一个#include &lt;vector&gt;。但是,NOT 是否有 using namespace std; - 使用完全限定(例如,std::vector&lt; ... &gt; 代替。
  • @HappyGreenKidNaps 哈哈,是的,遇到了那个特殊问题...感谢您的提醒。

标签: c++ oop


【解决方案1】:

这是完全可以接受的,它被称为“前向声明”。你可以阅读更多关于它的信息herehere

【讨论】:

  • 将在计时器用完时接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多