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