之外的外部变量我目前使用一个命名空间来保存了一套应该是项目中的所有类使用的变量。一些变量应该是常量,并且是在名称空间本身中定义的,对于其他变量则应该稍后分配。例如:分配值在C++的命名空间
// MyProject.h
namespace MyNameSpace {
extern const double a = 1.0;
extern const int b = 2;
extern double c;
extern int d;
}
// MyProject.cpp
MyNameSpace::c = 3.0;
MyNameSpace::d = 4;
然而,这将返回错误的变量c和d:
error LNK2001: unresolved external symbol "int MyNameSpace::c"
error LNK2001: unresolved external symbol "double MyNameSpace::d"
什么是之后的声明命名空间以外分配值外部变量的正确方法是什么?
命名空间是一个红色的鲱鱼 - 没有它你会有同样的问题。 – molbdnilo