gpt4 book ai didi

c++ - 有没有办法在 C++ 中预先声明嵌套类?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:08 50 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Forward declaration of nested types/classes in C++

对于类的简单交叉引用,预先声明类名并将其用作引用是可行的。通过这种方式,表示是一个指针。但是如果我想交叉引用两者的嵌套类(请看下面的示例),我会遇到麻烦,因为似乎没有办法预先声明嵌套类。

所以我的问题是:有没有一种方法可以预先声明嵌套类,以便我的示例可以运行?

如果不是:是否有一个通用的解决方法,不会使代码变得太丑陋?

// Need to predeclare it to use it inside 'First'
class Second;
class Second::Nested; // Wrong

// Definition for my 'First' class
class First
{
public:
Second::Nested* sested; // I need to use the nested class of the 'Second' class.
// Therefore I need to predeclare the nested class.
class Nested { };
};

// Definition for my 'Second' class
class Second
{
public:
First::Nested* fested; // I need to use the nested class of the 'First' class.
// This is okay.
class Nested { };
};

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