我正在尝试创建一个unordered_map,其键将是Gdiplus :: Color类的成员和一个浮点数,但我无法理解为什么我不能这样做。这是我的声明
std::unordered_map<std::pair(Gdiplus::Color, float), std::shared_ptr<Gdiplus::Pen>> mymap;
答案 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;