我讀C++引物和筆者說,定義名稱空間內類的friend函數。
「如果一個類被命名空間中定義的,那麼否則 未申報的朋友 功能在同一個命名空間中聲明:
namespace A {
class C {
public:
friend void f(const C&); // makes f a member of namespace A
};
}
難道不是意味着我沒有命名空間內再次聲明函數f()?
當我簡單地命名空間之外定義函數f()小號
void
A::f(const C& obj)
{
std::cout << "f(const C&) " << std::endl;
}
我從G ++ 4.5話說錯誤,
FriendDeclarations1.cpp:40:23: error: ‘void A::f(const A::C&)’ should have been declared inside ‘A’
誰能告訴我這是什麼筆者意味着什麼呢?