c++ - 为什么不能在局部类中定义友元函数,而全局类就可以?

浏览:35日期:2023-06-06

问题描述

#include <iostream>#include <vector>#include <string>using namespace std;//struct X {// friend void f() {}//这里就没问题//};int main(){ struct X {friend void f() {}//error C2689: “f”: 不能在局部类中定义友元函数 };}

问题解答

回答1:

C,C++函数不可以在函数内部定义函数。

回答2:

局部类的作用域已经很局限了,你觉得有申明友元的必要么?为什么会有这种需求?

相关文章: