C ++ Unordered_Map:接收“错误:在编译时'''令牌'之前的预期unqualified-id

时间:2012-06-29 05:41:36

标签: c++ hash map compiler-errors unordered-map

我有一个unordered_map(在C ++中),它将int与类Item的对象配对。 我在文件的开头初始化我的无序地图:

#include <iostream>
#include <unordered_map>
using namespace std;
typedef std::unordered_map<int, Item> MyList;

从那时起,每当我尝试使用MyList时,例如:

Item item1;
MyList[12] = item1;

我在所述行收到错误:“错误:当我在终端中编译时,在'['token'之前预期的unqualified-id。什么想法可能是错的?下面是我如何使用它并收到相同或类似错误的另一个例子。

void itemManager::removeItem(int x)  {
    MyList.erase(x);
}

收益率:“错误:'。'令牌之前预期的主要表达式”

请感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

MyList是一种类型:

typedef std::unordered_map<int, Item> MyList;

但你像对象一样使用它:

MyList[12] = item1;

也许把typedef放在那里是错误的。