我有三个文件: 标题.h
#ifndef _HEADER_
#define _HEADER_
int var = 0;
#endif
src1.cpp
#include "somefile.h"
extern int var;
int main(void) { // error: first defined here
var = 10;
return 0;
}
src2.cpp
#include "somefile.h"
extern int var;
int foo () { // error : multiple definition of 'var'
return 0;
}
我不知道为什么在这种情况下不能使用“extern”关键字。我该如何修复这些错误?
最佳答案
声明
int var = 0;
在一个cpp文件中而不是在头文件中
然后把
extern int var;
仅在头文件中
关于c++ - 在三个src文件中使用extern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15641585/