Я хочу вставить целочисленное значение и пару в мультимножество.
Поэтому я объявил это как:
multiset < int, pair < int, int> > mp;
int m,n,p;
Чтобы вставить в мультисет я попробовал это:
mp.insert(make_pair(m, make_pair(n,p))); // Compile time error
Но это дает ошибку времени компиляции … Может кто-нибудь предложить правильный метод для его реализации.
Тип multiset<int,pair<int,int>>
пытается создать мультимножество, где ключ int
и сравнение pair<int,int>
, Это бессмысленно. Вы либо хотите использовать
multiset<pair<int,pair<int,int>>>
или вы хотите использовать
multiset<tuple<int,int,int>>
Бывший тип (pair<int,pair<int,int>>
) соответствует выражению, которое вы используете для вставки в набор (make_pair(m, make_pair(n,p))
). Если вы используете последний, вы захотите make_tuple(m,n,p)
,
Других решений пока нет …