c++ - 友元函数类内定义只允许在非本地类定义中使用。这是什么意思?

标签 c++ friend

Here (见第 2 点描述)我读到类定义中的友元函数只允许在非本地类定义中。

这是什么意思?

最佳答案

非本地类是非本地类。

本地类是在函数中定义的类 - 请参阅“本地类”段落 on this page

“类内友元函数定义”是指在类内部声明和定义一个非成员函数的能力,它是它所在类的友元。

class a_class
{
    friend std::ostream& operator<<(std::ostream& os, const a_class& x)
    {
        // ...
    }
};

关于c++ - 友元函数类内定义只允许在非本地类定义中使用。这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38280711/

相关文章:

C++如何将关键字 'friend'与来自两个类的成员函数一起使用相互包含

c++ - 友元函数模板、声明的特化和范围

c++ 继承基类和子类

c++ - ifstream 构造函数返回损坏的对象

c++ - boost program_options : Read in 3d Vector as Command Line Parameter

c++ - 为什么这个C++程序编译失败?

c++ - 派生到基础的转换和友元困惑

c++ - 如何将全局范围函数声明为命名空间类的 friend ?

c++ - 为什么标准禁止部分特化的友元声明?

C++ union 内部