LNK1169:找到一个或多个多重定义的符号
说明:在学习数据结构时,在a.h
文件中定义了全局变量,同时在a.h
中使用了类模板
// a.h
int countLeaf=0;
template<class Elemtype>
class BiTree
{
...
}
然后在a.cpp
文件写实现,最后在b.cpp
文件中调用a.cpp
,其中b.cpp
中包含main
函数
运行时报错**LNK1169:找到一个或多个重定义的符号
**
解决方法:
在a.h
文件中定义全局变量前加上extern
extern int countLeaf;
然后在a.cpp
文件中初始化
int countLeaf=0;
或者:
在a.h
中定义时便进行初始化,也要加上extern
extern int countLeaf=0;