//6_1
(1)
//file1.cpp
int x=1;
int func()
{
//...
}
//file2.cpp
extern int x;
int func();
void g()
{
x=func();
}
//file3.cpp
extern int x=2; //error: extern int变量若有赋值,则成定义
int g(); //error: 函数声明与前面不一致
void main()
{
x=g();
//...
}
(2)
//file1.cpp
int x=5;
int y=8;
extern int z;
//file2.cpp
int x; //error: int x;重复定义
extern double y; //error: y同一名字不同类型定义
extern int z; //error: z只有声明,却无定义