刚才我开始用OOP C ++编写。我希望在我的班级中包含代表物理学中的2D矢量的算术运算。
确定。结束offtop 我有访问私有成员表格朋友功能的问题。 我在课程块中写了朋友声明,但我还没有访问vector的私人成员,我不知道为什么。
我不明白吗?
这是一段代码:
vector2d.h:
foo
vector2d.cpp
A
视觉错误:(四个错误,但几乎相同)
严重级代码说明项目文件行 错误(活动)成员“nedlib :: vector2d :: x”(在“c:\ Users \ Nedziu \ Documents \ Visual Studio 2015 \ Projects \ Ned Library \ Ned Library \ vector2d.h”的第21行声明)无法访问Ned库c:\ Users \ Nedziu \ Documents \ Visual Studio 2015 \ Projects \ Ned Library \ Ned Library \ vector2d.cpp 208
答案 0 :(得分:3)
您已在nedlib
命名空间
vector2d operator *(const double & real, const vector2d & vector);
ostream & operator <<(ostream & screen, const vector2d & vector);
_NEDLIB_END // <<<<<<
因此,您必须在函数定义中限定命名空间:
vector2d nedlib::operator *(const double & real, const vector2d & vector);
// ^^^^^^^^
using namespace nedlib;
不会影响在使用它的翻译单元中看到的定义范围。