如何在 C++ 中使用类函数?

Posted

技术标签:

【中文标题】如何在 C++ 中使用类函数?【英文标题】:How to use a class function in C++? 【发布时间】:2013-03-17 05:32:58 【问题描述】:

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:
        ...

如何修复它以使第一个版本正常工作?

我找到了一个很好的例子here。

【问题讨论】:

你为什么要在另一个类中声明类? 【参考方案1】:

在 B 类“之上”定义 C 类,或向前声明它。

【讨论】:

非常感谢您对前向声明的提示! 我仍然很好奇为什么在第二个示例中没有前向声明你可以逃脱......

以上是关于如何在 C++ 中使用类函数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C++ 中使用函数作为类的初始化程序 [重复]

如何在 C++ 中引用类结构中的函数?

如何在构造函数中访问类变量以在不使用 C++ 中的 this 指针的情况下分配它们

在 C++ 中,如何测试对象是不是是父类构造函数中子类的实例?

如何在 C++ 中从 dll(dll 中的构造函数)创建一些类?

如何在 C++ 中调用基类构造函数 [重复]