【发布时间】:2014-11-23 09:09:06
【问题描述】:
我搜索了错误 2011 我找到了error C2011: '' : 'class' type redefinition,而且我的 c++ 代码中肯定有 #ifndef 和 #define。
这是我的代码
//Member.h
#ifndef MEMBER_H
#define MEMBER_H
#include <string>
using namespace std;
class member
{
private:
int id;
string name;
char sex;
int age;
public:
void addMember();
void setName(string n);
void setSex(char s);
void setAge(int a);
};
#endif
.
//Member.cpp
#include <string>
#include "Member.h"
using namespace std;
class member
{
private:
int id;
string name;
char sex;
int age;
public:
void addMember()
{
void setName(string n);
void setSex(char s);
void setAge(int a);
//relationship
}
void setName(string n) { name = n; }
void setSex(char s) { sex = s; }
void setAge(int a) { age = a; }
};
它给了我同样的错误 C2011。请帮忙
【问题讨论】:
-
可能在其他地方定义了另一个类成员?
-
您的 .cpp 文件之一中是否有其他自定义标头在包含此标头之前?也许您忘记了另一堂课结束时的
;,忘记了结束时的}或#endif。这是导致这类错误的常见原因,因为class是关键字而不是类型,所以之前一定有语法错误。 -
顺便说一句,标头中的 using 指令很糟糕。
标签: c++