您的位置:首页 > 编程语言 > C语言/C++

VC++编译问题汇总1 单链表的表示和实现,基于c++

2009-04-24 21:35 519 查看
编译出错的解决:

情况:  error LNK2005: "public: __thiscall LinkList::LinkList(void)" (??0LinkList@@QAE@XZ) already defined in linklist3.obj

解决方案一:

把主函数所包含的操作函数.cpp,改为头文件.h,然后就可以解决如上错误。

1、当类模板的定义及实现分离(即写在不同文件中)时,在其他文件中包含类模板的定义必须包含其类实现文件(即.cpp文件),而不能包含类定义文件(即.h文件),否则将收到“error LNK2001”错误。

2、若是一般的类(即不是模板类),在其他文件包含则必须包含头文件(即.h文件,类声明文件),而不能包含源文件(即.cpp文件,类实现文件),否则将收到“error LNK2005”错误。

参考 http://www.cppblog.com/AutomateProgram/archive/2008/11/20/67387.html

解决方案二:

重新打开编译器,重新打开刚才的文件,先打开主函数.cpp,然后编译运行,打开Fileview,

其中有一个external dependencies,把头文件.h,和操作函数.cpp添加到这里,这样再编译运行主函数.cpp,程序运行成功!

经过验证,能解决问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: