【发布时间】:2020-09-11 04:45:34
【问题描述】:
我遇到了一个围绕循环包含问题的问题,尤其是我目前正在处理的问题。我在自己的文件中有两个类/结构。 A 类有一个内部类,B 类有一个该类型的成员。我需要在 A 中使用 B 的实例,如果它们在同一个文件中被删除就可以了,但因为它们不是我如何才能使这项工作?
啊.h
#pragma once
#include "B.h"
class A
{
public:
class Inner{};
B getNewB() { return B{}; }
};
B.h
#pragma once
#include "A.h"
struct B
{
A::Inner inner;
};
【问题讨论】:
-
你不能。必须给出一些东西并用参考代替。即使在同一个文件中,您也无法完成这项工作,因为 A 必须在 B 之前定义,B 必须在 A.. 之前定义。
标签: c++ include inner-classes