所以在我的 cpp 文件中,我试图声明一个映射如下:
map<string, vector<myStruct>> myMap;
在我的文件顶部,我写了 using namespace std
我还有#include <string>
.
但是我遇到了这些奇怪的错误:
错误:ISO C++ 禁止声明没有类型的“映射”
我不知道怎么解决。如果我写 #include <map>
这只会导致编译器崩溃。
最佳答案
你有#include <map>
吗?休息看起来有效,
但是,如果您的 C++ 标准不是 C++11,您可能需要添加一个空格:
#include <map>
#include <vector>
#include <string>
using namespace std;
map<string, vector<myStruct> > myMap;
^^^
最好不要使用命名空间 std:
#include <map>
#include <vector>
#include <string>
std::map<std::string, std::vector<myStruct> > myMap;
关于c++ - 我无法声明 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16181486/