admin 管理员组

文章数量: 1184232

class type redefinition 错误出现的原因是两个类用了同一个名称,比如:

#include<iostream>
using namespace std;
// #include student.h
//when you define a class twice with same name then you will get an error class type redefinition
class student
{

};
class student
{

};

但实际上,我的代码中并为出现这样的情况。那么到底是什么原因造成的class type redefinition呐?
下面介绍一下项目的基本情况,有三个类,对应三个文件。分别是instructions、pipeline、main。pipeline文件中include了instructions头文件,main文件中include了instructions头文件和pipeline头文件,这就导致main函数中instructions被预编译了两次。才有了这次错误。
相关链接

ps: pipeline继承自instructions,在pipeline.h中不需要include instructions。

本文标签: 解决方案 class Type redefinition