gpt4 book ai didi

c++ - 如何转发声明内部类?

转载 作者:太空宇宙 更新时间:2023-11-04 13:22:20 27 4
gpt4 key购买 nike

<分区>

我有一个这样的类......

class Container {
public:
class Iterator {
...
};

...
};

在其他地方,我想通过引用传递一个 Container::Iterator,但我不想包含头文件。如果我尝试转发声明该类,则会出现编译错误。

class Container::Iterator;

class Foo {
void Read(Container::Iterator& it);
};

编译上面的代码给出...

test.h:3: error: ‘Iterator’ in class ‘Container’ does not name a type
test.h:5: error: variable or field ‘Foo’ declared void
test.h:5: error: incomplete type ‘Container’ used in nested name specifier
test.h:5: error: ‘it’ was not declared in this scope

我怎样才能转发声明这个类,这样我就不必包含声明 Iterator 类的头文件?

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