问题描述
我有以下情况:
3 个 C++ 类:
A 类 B级 C类
class A
{
int member;
B bmember;
};
class B
{
int member;
std::shared_ptr <A> amember;
C cmember;
};
class C
{
int member;
std::shared_ptr <A> amember;
};
每个类都实现了使用其他类的公共成员函数的函数。文件结构如下:
class1.cpp,class1.hpp 包含 class2.hpp
class2.cpp、class2.hpp 包括 class3.hpp 和 class1.hpp
class3.cpp,class3.hpp 包含 class1.hpp
在每个头文件中使用 #pragma once
使我免于无限递归循环。我正在构建一个 cmake 项目,将每个类构建到一个库中。他们互相瞄准对方。
然而,因为没有 ClassB 到 ClassA 的前向声明,我收到“未声明的错误”
我需要每个类都有对其他类的引用,并且仍然能够访问它们的功能。我怎样才能做到这一点?如果我也需要,我愿意合并文件,但我想让库模块化,而不是全部在一个文件中。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)