申し訳ありませんが、私の英語が悪いことは知っていますが、質問がより明確になるように例を挙げました。
a.cpp
#include <iostream>
using namespace std;
void funcfoo(){
cout << "test only" << endl;
}
int varfoo = 10;
b.cpp
#include <iostream>
using namespace std;
extern void funcfoo();
extern int varfoo;
int main(){
funcfoo();
cout << varfoo;
return 0;
}
次に、この「clb.cppa.cpp」のようにコンパイルします
。私の質問はです。「voidfuncfoo()の前にexternキーワード」を削除すると正常に機能しますが、int var fooの前にexternキーワードを削除すると、エラーが発生します。