【发布时间】:2017-11-13 09:22:08
【问题描述】:
我对以下代码有疑问:
#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' : 'class' 类型重新定义。
【问题讨论】:
-
请提供MCVE。
-
我们在谈论多少个文件?
-
你把
#include "main.cpp"这行放在哪个文件里? -
@Wolf OP 可能有多个文件但未显示 MCVE。
-
明确哪些代码属于哪个文件,我的意思是:命名sn-ps!
标签: c++ visual-studio-2013 compiler-errors