.h文件里不能有定义,只能有声明。
你现在头文件里全是定义,这个头文件被包含超过一次,就会出现链接错误。
解决办法是把:
int x=10; //定义了全局变量X,供1.CPP和2.CPP调用。
int y=10; //定义了全局变量Y,供1.CPP和2.CPP调用。
放到其中一个cpp文件里,而在另一个cpp文件里用:
extern int x;
extern int y;引用第一个cpp文件里定义的全局变量。
add函数也是一样,在头文件里只写函数的声明:
voia add();
在其中一个cpp文件里定义add函数。你可以把add函数的定义放到第一个cpp文件里就行。
1、如果VC已经打开,请关闭工作空间。
2、分别双击磁盘文件3.h、2.cpp和1。cpp
3、单击《窗口(W)》菜单,选择2.cpp,选择《组建(B)》编译2.cpp
4、单击《窗口(W)》菜单,选择1.cpp,选择《组建(B)》编译1.cpp
5、选择《组建(B)》下面的<全部重建>
6、Ctrl + F5运行。
链接出错......
头文件不应该定义函数与变量赋值...
3.h
改成
int x; //定义了全局变量X,供1.CPP和2.CPP调用。
int y;
//定义了全局变量Y,供1.CPP和2.CPP调用。
void add() ; //定义外部函数。
定义与赋值在1.cpp
void add() //定义外部函数。
这个函数体
不要放在.h里
放在一个.c里
然后在.h里 extern void add();即可