Я пытаюсь создать unordered_map, ключ которого будет членом класса Gdiplus :: Color и float, но я не могу понять, почему я не могу этого сделать. Это моя декларация
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;