Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将用户定义的类作为模板参数传递 我试图在C++中实现图形。 我定义了一个类Edge,它将节点名称和权重作为两个参数。 还有一个类Graph,当我试图在Graph声明Graph g中将Edge作为模板参数传递时,我得到了一个错误。 我不能将类作为模板参数传递。我对C++编程很陌生,所以请原谅我的愚蠢。有人能建议正确的方法吗 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; } 模板 阶级边缘{ T1 d_顶点; t2d_重量; 公众: 边缘(T1,T2); T1顶点(); T2重量(); }; 模板 边::边(T1 v,T2 w):d_顶点(v),d_权重(w){ } 模板 T1边::顶点(){ 返回d_顶点; } 模板 T2边::权重(){ 返回d_权重; } 模板 类图{ 向量节点; }; int main() { 图g; }_C++ - Fatal编程技术网

将用户定义的类作为模板参数传递 我试图在C++中实现图形。 我定义了一个类Edge,它将节点名称和权重作为两个参数。 还有一个类Graph,当我试图在Graph声明Graph g中将Edge作为模板参数传递时,我得到了一个错误。 我不能将类作为模板参数传递。我对C++编程很陌生,所以请原谅我的愚蠢。有人能建议正确的方法吗 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; } 模板 阶级边缘{ T1 d_顶点; t2d_重量; 公众: 边缘(T1,T2); T1顶点(); T2重量(); }; 模板 边::边(T1 v,T2 w):d_顶点(v),d_权重(w){ } 模板 T1边::顶点(){ 返回d_顶点; } 模板 T2边::权重(){ 返回d_权重; } 模板 类图{ 向量节点; }; int main() { 图g; }

将用户定义的类作为模板参数传递 我试图在C++中实现图形。 我定义了一个类Edge,它将节点名称和权重作为两个参数。 还有一个类Graph,当我试图在Graph声明Graph g中将Edge作为模板参数传递时,我得到了一个错误。 我不能将类作为模板参数传递。我对C++编程很陌生,所以请原谅我的愚蠢。有人能建议正确的方法吗 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; } 模板 阶级边缘{ T1 d_顶点; t2d_重量; 公众: 边缘(T1,T2); T1顶点(); T2重量(); }; 模板 边::边(T1 v,T2 w):d_顶点(v),d_权重(w){ } 模板 T1边::顶点(){ 返回d_顶点; } 模板 T2边::权重(){ 返回d_权重; } 模板 类图{ 向量节点; }; int main() { 图g; },c++,C++,在此实例化中 Graph<int,Edge> g; ie具有模板参数或,您应该指定边的类型,例如 Graph<int, Edge<int,int>> g; 图g; Edge不是一个类,你是说Graph`? Graph<int, Edge<int,int>> g;

在此实例化中

Graph<int,Edge> g;
ie具有模板参数,您应该指定
边的类型,例如

Graph<int, Edge<int,int>> g;
图g;

Edge
不是一个类,你是说Graph`?
Graph<int, Edge<int,int>> g;