今天在写代码时出现了这个错误,网上的解决方法都不合适
我的代码是这样,在一个cpp里申明了一个常量
//data.cpp const int ROUND = 3;
然后在一个头文件里申明为全局变量
//PData.h extern const int ROUND;
在下级的cpp文件里包含此头文件,按道理就可以将ROUND变量当做全局变量来用
//sub.cpp #inclide "PData.h" int main{ int a = ROUND; return 0; }
但是编译器报错:LNK2001 无法解析的外部符号 "int const ROUND"
我想了一下,这个应该是常量会被定义到常量区,所以这种方法定义的静态全局不能找到这个变量
所以把常量去掉:
//data.cpp int ROUND = 3; //PData.h extern int ROUND;
问题解决
标签:const,常量,int,LNK2001,cpp,ROUND From: https://www.cnblogs.com/fpiaopiao/p/17177321.html