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,程序运行成功!
经过验证,能解决问题
情况: 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,程序运行成功!
经过验证,能解决问题
相关文章推荐
- 数据结构与算 5:C++ 顺序/链式存储,栈 模板类实现,编译模板类问题解决
- [Android-NDK编译] ndk 编译 c++ 兼容性问题汇总整理
- C++ HOJ 约瑟夫问题 的 数组、链表及STL实现
- 图像卷积操作的手动实现(基于opencv的C++编译环境)
- VC下编译和链接常出现的问题汇总
- 基于无头节点的单链表的升序冒泡排序(C++实现)
- 【c++】约瑟夫环问题的链表实现
- 链表的顺序表示和实现(C++模板类实现)
- C++基于链表泛型集合类的实现
- c++链表实现队列,深搜加宽搜,加模版类实现迷宫问题;
- 基于C++ STL图的邻接表表示及深度、广度搜索实现
- 基于ROS的服务机器人移植过程编译问题汇总
- 链表的实现基于C++
- 个人linux下编译c++工程所遇问题汇总
- ndk 编译 c++ 兼容性问题汇总整理
- VC下编译和链接常出现的问题汇总
- 基于数组和基于链表线性表C++实现
- ndk 编译 c++ 兼容性问题汇总整理
- VC下编译和链接常出现的问题汇总
- 常见内排序实现汇总(含部分优化实现,基于链表的实现),以及性能比较