我有以下代码的问题:
#ifndef HEADER_H_
class SelectorBox{
public:
string selectorName;
map < string, string > attributeMap;
void setSelectorName(string name);
void setAttribute(string key, string value);
};
string trimTheString(string str); //trimming a string
#endif
//include libraries
#include "Header.h"
using namespace std;
int main()
{
vector <SelectorBox> vectorSelectBox;
SelectorBox *selectorBox;
//code
return 0;
}
#include "Header.h"
#include "main.cpp"
void SelectorBox::setSelectorName(string name) //setter
{
name = trimTheString(name);
selectorName = name;
}
void SelectorBox::setAttribute(string key, string value) //setter
{
key = trimTheString(key);
value = trimTheString(value);
attributeMap[key] = value;
}
当我编译一个程序时,它显示了很多错误(特别是错误 4430 和 2061),但我认为主要错误是: 错误 C2011:“SelectorBox”:“类”类型重新定义。
最佳答案
您必须定义 HEADER_H_
。您错过了下面代码的第二行。
#ifndef HEADER_H_
#define HEADER_H_
...
#endif
关于c++ - 错误 C2011 : 'SelectorBox' : 'class' type redefinition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47260796/