我正在尝试创建一个 unordered_map,其键将是 Gdiplus::Color 类的成员和一个浮点数,但我不知道为什么我不能这样做。这是我的宣言
std::unordered_map<std::pair(Gdiplus::Color, float), std::shared_ptr<Gdiplus::Pen>> mymap;
我正在尝试创建一个 unordered_map,其键将是 Gdiplus::Color 类的成员和一个浮点数,但我不知道为什么我不能这样做。这是我的宣言
std::unordered_map<std::pair(Gdiplus::Color, float), std::shared_ptr<Gdiplus::Pen>> mymap;
您为您的std::pair
类型使用了错误类型的括号。模板参数应在尖括号中给出:
std::pair<Gdiplus::Color, float>
您实例化类模板的语法std::pair
不正确:它应该是
std::pair<Gdiplus::Color, float>
// ^ ^
用尖括号代替圆括号。因此,整个声明变为:
std::unordered_map<
std::pair<Gdiplus::Color, float>,
// ^ ^
std::shared_ptr<Gdiplus::Pen>
> mymap;