C++ ';std::配对';:使用类模板需要模板参数列表
我试图创建一个无序的_映射,其键将是Gdiplus::Color类的成员和一个float,但我不明白为什么我不能这样做。这是我的声明C++ ';std::配对';:使用类模板需要模板参数列表,c++,unordered-map,std-pair,C++,Unordered Map,Std Pair,我试图创建一个无序的_映射,其键将是Gdiplus::Color类的成员和一个float,但我不明白为什么我不能这样做。这是我的声明 std::unordered_map<std::pair(Gdiplus::Color, float), std::shared_ptr<Gdiplus::Pen>> mymap; std::无序映射mymap; 您的std::pair类型使用了错误的括号。模板参数应放在尖括号内: std::pair<Gdiplus::Color,
std::unordered_map<std::pair(Gdiplus::Color, float), std::shared_ptr<Gdiplus::Pen>> mymap;
std::无序映射mymap;
您的std::pair
类型使用了错误的括号。模板参数应放在尖括号内:
std::pair<Gdiplus::Color, float>
std::pair
实例化
std::pair
类模板的语法不正确:应该是
std::pair<Gdiplus::Color, float>
// ^ ^
std::pair
// ^ ^
用尖括号代替圆括号。因此,整个宣言变成:
std::unordered_map<
std::pair<Gdiplus::Color, float>,
// ^ ^
std::shared_ptr<Gdiplus::Pen>
> mymap;
std::无序映射<
std::pair,
// ^ ^
std::共享的ptr
>mymap;
wow。非常感谢。我在看make_pair声明,它使用了()…这解释了很多。谢谢