使用extern声明的变量不能在局部域定义

⌚Time: 2025-01-18 13:28:00

👨‍💻Author: Jack Ge

使用extern修饰的变量不能在局部域内定义,比如在函数体内进行定义。那是运行时定义。在编译时会报错undefined reference to xxx

头文件声明变量

extern int a;

源文件定义处

void function(){
    int a = 3;
}

这就会报错,应该直接在域外定义成全局变量

int a = 3;
void function(){
    ...
}