1
我有以下幾點:朋友的成員函數不能訪問私有成員
class B;
class A
{
public:
int AFunc(const B& b);
};
class B
{
private:
int i_;
friend int A::AFunc(const B&);
};
int A::AFunc(const B& b) { return b.i_; }
對於AFunc
定義我得到的成員B::i_
無法訪問。我究竟做錯了什麼?
編譯器:MSVC 2013年
更新:改變AFunc
公衆和代碼編譯現在。不過,我仍然收到一個智能感知錯誤。這是智能感知問題嗎?
來自C++ 11標準的確切引用(如果您想添加它)在11.3/9中:*由朋友聲明提名的名稱應在包含朋友聲明的類的範圍內可訪問。 –
謝謝!我把'AFunc'改成了public(我真的在公開我的真實代碼)。現在編譯代碼,但我仍然收到一個IntelliSense錯誤。也許這是IntellSense的問題?更新的問題。 –
代碼編譯,即使在' - pedantic'模式。我會說智能感知正在噴涌NonSense。 – thirtythreeforty