2013-03-29 2 views
-1

Я пытаюсь создать unordered_map, чей ключ был бы членом класса Gdiplus :: Color и поплавка, но я не могу понять, почему i не может этого сделать. Это мое заявление'std :: pair': использование шаблона шаблона требует списка аргументов шаблона

std::unordered_map<std::pair(Gdiplus::Color, float), std::shared_ptr<Gdiplus::Pen>> mymap; 

ответ

4

Вы использовали неправильный вид скобки для std::pair типа. аргументы шаблона должны быть приведены в угловых скобках:

std::pair<Gdiplus::Color, float> 
+0

wow. Спасибо. Я смотрел объявление make_pair, которое использовал() ..., что объясняет многое. большое спасибо –

1

Ваш синтаксис для обработки шаблона std::pair класса неверно: оно должно быть

std::pair<Gdiplus::Color, float> 
//  ^     ^

С угловыми скобками вместо скобок. Таким образом, вся декларация становится:

std::unordered_map< 
    std::pair<Gdiplus::Color, float>, 
//   ^     ^
    std::shared_ptr<Gdiplus::Pen> 
    > mymap; 
Смежные вопросы