C++在一个文件中调用另一个文件的变量

try1.cpp中
#include<iostream>
using namespace std;
static int b;
void a(){
b=1;
}

try2.cpp中
#include<iostream>
using namespace std;
extern void a();
extern int b;
int main(){
a();
cout<<b<<endl;
return 0;
}
编译没问题,但是执行有unresolved external symbol "int b" (?b@@3HA)求问啊!!!!!!

static int b;

改为
int b;

因为在全局变量前加static修饰符,表示该变量的作用域仅限于其所在的文件(即别的文件不可见)。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-05-14
try2.cpp里加上#include"try1.cpp"追问

加了后执行还是出错"void_cdecl a(void)already defoned in try2"

相似回答