C++ 你怎么不';在头文件中包含外部常量(int)时,是否不需要为其赋值?在c++;
通常在声明任何类型的常量时,您应该立即为其赋值,但不在头文件中赋值?为什么?这是因为您声明了它C++ 你怎么不';在头文件中包含外部常量(int)时,是否不需要为其赋值?在c++;,c++,C++,通常在声明任何类型的常量时,您应该立即为其赋值,但不在头文件中赋值?为什么?这是因为您声明了它extern,extern告诉编译器变量的定义和声明在另一个文件中,您只是让代码“意识到”该变量的存在,因此,编译器不希望在头上有任何赋值。请记住,不仅您不需要将值赋值给,而且您不应该将值赋值给外部声明,因为这使它们成为一个定义 你根本不应该在头文件中创建变量(普通的,全局的)@deviantfan那根本不是真的。比如const int means=42在头文件中完全正常。@NeilButterwort
extern
,extern告诉编译器变量的定义和声明在另一个文件中,您只是让代码“意识到”该变量的存在,因此,编译器不希望在头上有任何赋值。请记住,不仅您不需要将值赋值给,而且您不应该将值赋值给外部声明,因为这使它们成为一个定义 你根本不应该在头文件中创建变量(普通的,全局的)@deviantfan那根本不是真的。比如const int means=42“代码>在头文件中完全正常。@NeilButterworth如果您在多次包含链接器错误后对链接器错误没有问题…?”。。。?编辑:“正常”@deviant您不会得到任何链接器错误@Samsa发布了一些代码,说明了您的问题。