-1
我想創建一個unordered_map,其關鍵將是Gdiplus :: Color類的成員和一個浮點數,但我無法解釋爲什麼我不能這樣做。這是我的聲明'std :: pair':類模板的使用需要模板參數列表
std::unordered_map<std::pair(Gdiplus::Color, float), std::shared_ptr<Gdiplus::Pen>> mymap;
我想創建一個unordered_map,其關鍵將是Gdiplus :: Color類的成員和一個浮點數,但我無法解釋爲什麼我不能這樣做。這是我的聲明'std :: pair':類模板的使用需要模板參數列表
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;
哇。謝謝。我正在查看使用()...的make_pair聲明,這解釋了很多。非常感謝 –