c++ - Passing user defined class as template parameter -


i trying implement graph in c++.
have defined class edge take node name , weight 2 parameters.
, class graph, when tried pass edge template parameter in graph declaration graph<int,edge> g, got error.
can't pass class template parameter. new c++ coding, please pardon me stupidity. can suggest correct way it?

template<class t1,class t2>     class edge{         t1 d_vertex;         t2 d_weight;         public:         edge(t1,t2);         t1 vertex();         t2 weight(); }; template<class t1,class t2> edge<t1,t2>::edge(t1 v,t2 w):d_vertex(v),d_weight(w){ } template<class t1,class t2> t1 edge<t1,t2>:: vertex(){         return d_vertex; } template<class t1,class t2> t2 edge<t1,t2>::weight(){         return d_weight; } template<class t,class t2> class graph{         vector<pair<t, list<t2> > > node;  };  int main() {     graph<int,edge> g; } 

in instantiation

graph<int,edge> g; 

edge still class template. implies either graph class should

template<class t, template<class,class> class t2> class graph{ /**/ }; 

ie having template template parameter or should specify type of edge, eg

graph<int, edge<int,int>> g; 

Comments

Popular posts from this blog

google api - Incomplete response from Gmail API threads.list -

Installing Android SQLite Asset Helper -

Qt Creator - Searching files with Locator including folder -