Съжалявам, момчета, знам, че английският ми е лош, но направих примери, за да е по-ясен въпросът ми.
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;
}
След това го компилирам така "cl b.cpp a.cpp"
Въпросът ми е. Как така, когато премахна „extern ключовата дума преди void funcfoo()“, тя работи добре, но когато премахна extern ключовата дума преди int var foo, получавам грешка?