簡體   English   中英

在內部類中使用struct時發生編譯錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM