私は3つのファイルを持っています:header.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」キーワードを使用できない理由がわかりません。これらのエラーを修正するにはどうすればよいですか?