友元函数问题

[复制链接]
 楼主| dfsa 发表于 2012-6-6 19:29 | 显示全部楼层 |阅读模式
#include <iostream>
class A
{
public:
    friend
void f() {};
};

int main()
{
    f();

    system(
"pause" );
   
return
0;
}

如果友元函数实现在类体内,main函数体内的f调用在编译的时候报错,error C3767: “f”: 候选函数不可访问。

请问:友元函数体实现在类内和实现在类外的区别,希望具体点的,多谢各位!


xsgy123 发表于 2012-6-6 23:22 | 显示全部楼层
friend function本质上来说还是global的,不是class scope的,所以只能在类里面声明,在类外面定义
yybj 发表于 2012-6-6 23:32 | 显示全部楼层
看书吧,友元和类成员函数是两码事
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

282

主题

2404

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部