У меня есть классC++ Создание карты двойной пары
template <typename _T, typename _E>
class CRoute
{
public:
CRoute& Add(const _T & u1 , const _T & u2 , const _E & e);
...
private:
map < _T, vector<pair<_T,_E>> > graf;
};
Добавить функцию присвоить elemts для Graf;
НО! Я не могу использовать конструктор по умолчанию типов _T и _E. Из-за этого я не могу сделать следующее:
template <typename _T, typename _E>
CRoute<_T,_E>& CRoute<_T,_E>::Add(const _T & u1 , const _T & u2 , const _E & e){
graf[u1].emplace_back(u2 , e);
return *this;
}
Я могу использовать только конструктор копирования. Как я могу это сделать?
Пожалуйста, предоставьте [mcve]. – Barry
Ваша пара значений ключа 'graf' -' std :: pair <_T, std :: vector> ', вы пытаетесь вставить' std :: pair <_T, std :: пара <_T, _E>> '. –
user2296177