次のように、Graph.h でコピー コンストラクターが宣言されているクラス Graph があります。
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<double,double> make_graph(string filename){...}
どこかに「&」が必要ですか?