首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

error LNK2005:解决办法

2012-03-07 
error LNK2005:...hiall,我最近在编译一个工程时遇到inking...B.obj:errorLNK2005: public:__thiscallC::

error LNK2005:...
hi   all,

我最近在编译一个工程时遇到

inking...
B.obj   :   error   LNK2005: "public:   __thiscall   C::C(unsigned   int,unsigned   int) "   (??0B@QAE@II@Z)   already   defined   in   A.obj

main()   在A.cpp中,A包含B.h(及其他),B.h包含C.h,C.h在整个Source中只被#include一次,而且每个.h都有#ifndef保护,请问还有什么其他可能的原因?


[解决办法]
C::C(unsigned int,unsigned int)
重复定义
[解决办法]

有没有相互include ?
[解决办法]
不要在.h中进行包含.
把头文件包含放到cpp文件中去.
如果非要用到项目中其他头文件声明的类.
可在使用的头文件中提前声明一下即可:
class C;

class B {
C xx;
// others.
};

热点排行