首页 > 其他分享 >LNK2001 无法解析的外部符号 "int const ROUND"

LNK2001 无法解析的外部符号 "int const ROUND"

时间:2023-03-03 23:12:12浏览次数:36  
标签:const 常量 int LNK2001 cpp ROUND

今天在写代码时出现了这个错误,网上的解决方法都不合适

我的代码是这样,在一个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

相关文章