首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

在构造体中定义一个友元函数有什么意义吗

2013-01-28 
在结构体中定义一个友元函数有什么意义吗最近在编译一段代码,代码不是本人所写,内容大概如下头文件内容nam

在结构体中定义一个友元函数有什么意义吗
最近在编译一段代码,代码不是本人所写,内容大概如下
头文件内容
namespace NA
{
            struct SA
            {
                   friend SA Fun(SA& S);
            }
}
源文件内容
NA::SA NA::Fun(SA& S)
{
}
在gcc 4.1.2下编译正常通过,但是在gcc4.2.1下编译就提示函数在NA中未声明。
但是我又不想换编译器所以想通过修改代码来解决,我把友元函数声明成结构体外的普通函数就不会再报编译错误,不知道这种方法可行吗,在这种情况下结构体内的友元跟结构体外的普通函数有什么区别吗?
[解决办法]

namespace NA
{
  struct SA
  {
friend SA Fun( SA& S );
  };
  
  SA Fun( SA& S );
}

NA::SA NA::Fun( SA& S )
{
}

int main()
{
    return 0;
}

热点排行