此类问题具体的问题在一下几个方面:
1.在工程中缺少lib文件
解决办法是 工程-》属性-》配置属性-》衔接器-》输入-》附加依赖项
点击编辑 根据缺少的文件添加相应的lib(lib文件相应百度)
2.你的类中函数的实现和声明不在同一个文件,编译器无法识别了,解决办法是通过将相应的声明和实现放在一起皆可以
3.如果你的函数中有友元函数(类模板中) 举个例子:
friend istream& operator>>(istream& in, BinaryTree<T>& Tree);
friend ostream& operator<<<T>(ostream& out, BinaryTree<T>& Tree);
上面那个是重载输入 下面的是重载输入
在这几版VS中要在函数参数前面加上<T> 在实现的时候不要加就可以
2015/12/24 编辑:
今天在写数据结构的时候又发现了上面的问题,后来尝试了三种办法都没用
最后发现是这样一种情况
写了一个类 a ,另一个类b继承a ,b中的函数使用了a中的私有数据,但是a本身并没有使用自己的数据(就是a中的数据就给B用了)
然后编译的时候就出错了,完了以后怎么改都改不了
最后我把a里面的所有成员都丢到b里面去了,编译居然过了(忘了说,a里面含有纯虚函数。。)
用的编译器是VS2008 以供参考