簡體   English   中英

如何在C ++中使用類函數?

[英]How to use a class function in C++?

我得到一個error: 'func' does not name a type當類B的成員函數func嘗試返回類C時, error: 'func' does not name a type

class A {
    public:
        class B {
            public:
                C func() const {
                    ...
                }
            private:
                friend class A;
        }

        class C {
            public:
                ...
            private:
                friend class A;
        }
    private:
        ...
}

然而,如果func是A的成員函數,則以下內容不會產生此錯誤:

class A {
    public:
        class B {
            public:
                ...
            private:
                friend class A;
        }

        C func() const {
            ...
        }

        class C {
            public:
                ...
            private:
                friend class A;
        }
    private:
        ...
}

如何修復它以使第一個版本工作?

我在這里找到了一個很好的例子

將類C定義為“B”以上,或者向前聲明它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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