[英]Compiling error when using struct within an inner class
我找不到任何有助於我理解以下代碼為何無法編譯的答案。 我在類的私有部分(Foo)中聲明了一個結構,並嘗試從內部類(Bar)中使用這種結構。
class Foo {
public:
Foo();
class Bar;
class Bar {
public:
Bar();
Foo::Node createNode();
};
private:
struct Node{
Node(int d) : data(d) {};
int data;
};
};
並且編譯器將引發以下錯誤:
.../Foo.h:9:14: error: no type named 'Node' in 'Foo'
您需要在引用內部類之前對其進行聲明:
class Foo {
class Node;
public:
// ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.