'extern' variable has an initializer [-Wextern-initializer]
时间: 2024-05-10 08:19:09 浏览: 301
c语言学习-c语言第章.pptx
这个编译警告是因为在声明一个 extern 变量时给它赋了一个初始值。extern 变量是在别的文件中定义的全局变量,本文件中只是声明它的存在,不应该给它赋值。
如果你需要在本文件中使用这个变量的初始值,可以将这个变量定义在本文件中,并且在定义时同时初始化它。如果你只是想使用这个变量,不需要定义它,只需要在本文件中声明它即可。例如:
```
// 在其他文件中定义的全局变量
extern int global_var;
// 在本文件中声明全局变量的存在
extern int global_var;
// 在本文件中定义全局变量并初始化
int global_var = 10;
```
阅读全文