Ich habe KlasseC++ Herstellung Karte Doppelpaar
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;
};
hinzufügen Funktion haben elemts zuweisen graf;
ABER! Ich kann den Standardkonstruktor der Typen _T und _E nicht verwenden. Aus diesem Grund kann ich folgendes nicht tun:
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;
}
Ich kann nur kopieren Konstruktor verwenden. Wie kann ich es machen?
Bitte geben Sie eine [mcve] an. – Barry
Das Schlüssel-Wert-Paar Ihrer 'graph'-Map ist' std :: pair <_T, std :: vector> ', Sie versuchen ein' std :: pair <_T, std :: Paar <_T, _E>> '. –
user2296177