gpt4 book ai didi

C++ 与嵌套类的循环依赖

转载 作者:行者123 更新时间:2023-12-02 02:59:50 28 4
gpt4 key购买 nike

我正在尝试生成我正在用 IDA 反汇编的内容重建的类的头文件。但是,由于循环依赖,我遇到了编译错误。对于常规类,我通过在一个单独的文件中声明它们来解决这个问题,我将其作为第一个文件包含在内。问题是我无法在没有定义外部类的情况下声明内部类,这就是问题所在。

类结构示例:

A类:

#include "B.h"

class A {

public:
class Nested {
public:
void foo(B::Nested &foo);
};
};

B类:

#include "A.h"

class B {

public:
class Nested {
public:
void foo(A::Nested &foo);
};
};

最佳答案

您可以在 AB 中转发声明 Nested,然后再定义它们。

啊啊

class A {
public:
class Nested;
};

B.h

class B {
public:
class Nested;
};

嵌套.h

#include "A.h"
#include "B.h"

class A::Nested {
public:
void foo(B::Nested &foo);
};

class B::Nested {
public:
void foo(A::Nested &foo);
};

关于C++ 与嵌套类的循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60650256/

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