C++编程出现error:'class' type redefinition的错误一般的原因
(2012-11-28 20:14:57)
标签:
error:'class'typereerrorc |
C++编程出现error:'class' type redefinition的错误一般的原因
如下面的程序:
#include
#include
using namespace std;
class Item_base
{
public:
private:
protected:
};
#include"Item_base.h"
#include
#include
using namespace std;
class Bulk_item:public Item_base
{
public:
private:
};
#include"Item_base.h"
#include"Bulk_item.h"
#include
#include
using namespace std;
void func1(Item_base obj)
{
}
void func2(Item_base &obj){}
Item_base func3(){
}
int main()
{
}
编译时会出现如下错误:
Compiling...
main.cpp
e:\c++ test\c++primer 15\buybook\item_base.h(7) : error
C2011: 'Item_base' : 'class' type
redefinition
执行 cl.exe 时出错.
改正:
只需在第一个头文件加上:
#ifndef ITEM_BASE
#define ITEM_BASE
#endif
避免类重复定义。