gpt4 book ai didi

c++ - 转发类友声明

转载 作者:太空宇宙 更新时间:2023-11-04 15:53:51 25 4
gpt4 key购买 nike

您好,我有一个问题,我尝试执行以下操作,A 类依赖于 B 类,反之亦然

class A;

class B{
A foo;
friend B A::doSomething();

};

class A {
B bar;
B doSomething;
};

friend 声明不起作用,因为 A 是一个不完整的声明。有什么办法可以避免这种情况吗? (Swapp 类声明顺序不是解决方案我不想构建一个更复杂的示例,其中交换不再起作用)

最佳答案

您现在尝试做的事情会使您的类无限大(据我所知,barfoo是类成员变量,因此这意味着 B 包含 AA 包含 B,...)。

您可以在您的某个类中使用指针并存储 A* fooB* bar 或以某种方式重新设计您的应用程序以避免这种情况循环依赖。

关于c++ - 转发类友声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3114577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com