2

我有一个 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);
}

产生:“错误:'.'之前的预期主表达式 令牌”

请并感谢您的帮助。

4

1 回答 1

3

MyList 是一种类型:

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

但是您像对象一样使用它:

MyList[12] = item1;

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

于 2012-06-29T05:46:18.743 回答