gia*_*otb 2 c++ constructor reference function object
我想通过引用将对象传递给Contructor,但是我遇到了问题,因为我不知道如何将它绑定到类的变量.
在这里,我发布了一些代码,错误上升了.
class ShortestPath{
public:
ShortestPath(Graph& graph): graph(graph){};[...]
private:
Graph *graph;
};
Run Code Online (Sandbox Code Playgroud)
在这种情况下,错误上升是:
cannot convert `Graph' to `Graph*' in initialization
Run Code Online (Sandbox Code Playgroud)
如果我写
ShortestPath(Graph& graph): *graph(graph){};[...]
Run Code Online (Sandbox Code Playgroud)
错误是
expected identifier before '*' token
Run Code Online (Sandbox Code Playgroud)
当我调用构造函数时,我应该这样调用吗?最短路径(图表);
您必须以这种方式更改您的代码:
class ShortestPath{
public:
ShortestPath(Graph& graph): graph(graph){};[...]
private:
Graph &graph;
}
Run Code Online (Sandbox Code Playgroud)
要么:
class ShortestPath{
public:
ShortestPath(Graph& graph): graph(&graph){};[...]
private:
Graph *graph;
}
Run Code Online (Sandbox Code Playgroud)