I have class:
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;
};
Add function have to assign elements to graf;
BUT! I can not use default constructor of _T and _E types. Because of this I can't do following:
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;
}
I can use only copy constructor. How can I make it?