读书人

友元 命名空间,该如何解决

发布时间: 2013-01-11 11:57:35 作者: rapoo

友元 命名空间
uing namespace Test
{
class A
{
public:
friend void f1(const A& a);
};
void f2(const A&a);
}

class B
{
public:
operator Test::A(){return Test::A();}
};

using namespace Test
{
void f3(const A& a);
}

void main()
{
B b;
f1(b);
f2(b);
f3(b);
}

f1 编译不通过 f2 f3 编译通过 是什么原因呢
Test::A() 这种是函数对象的用法吗
[解决办法]

引用:
Test::A() 这种是什么用法呢
类型转换符,提供B类型向A类型的隐式转换

读书人网 >C++

热点推荐