'std :: pair':使用类模板需要模板参数列表

时间:2013-03-29 20:58:16

标签: c++ unordered-map std-pair

我正在尝试创建一个unordered_map,其键将是Gdiplus :: Color类的成员和一个浮点数,但我无法理解为什么我不能这样做。这是我的声明

std::unordered_map<std::pair(Gdiplus::Color, float), std::shared_ptr<Gdiplus::Pen>> mymap;

2 个答案:

答案 0 :(得分:5)

您的std::pair类型使用了错误的方括号。模板参数应在尖括号中给出:

std::pair<Gdiplus::Color, float>

答案 1 :(得分:1)

实例化std::pair类模板的语法不正确:它应该是

 std::pair<Gdiplus::Color, float>
 //       ^                     ^

使用尖括号而不是括号。因此,整个声明变为:

std::unordered_map<
    std::pair<Gdiplus::Color, float>, 
//           ^                     ^
    std::shared_ptr<Gdiplus::Pen>
    > mymap;