【发布时间】:2012-05-09 07:38:02
【问题描述】:
我有一个类 Graph,它的复制构造函数在 Graph.h 中声明如下:
template<typename Object,typename Weight>
Graph<Object,Weight>::Graph(Graph<Object,Weight>& G)
在其他地方,我尝试使用它:
Graph<double,double> G = make_graph("dense.g");
...但它给了我以下错误:
time_trialsALIST.cpp:37: 错误: 没有匹配函数调用 `Graph::Graph(Graph)' Graph.h:142:注意:候选人是:Graph::Graph(Graph&) [with Object = double, Weight = double]我不明白为什么会这样; make_graph 函数只返回一个 Graph:
Graph<double,double> make_graph(string filename){...}
我需要在某处使用“&”吗?
【问题讨论】: