我正在尝试创建一个nodelist,我有两个类:Node&节点列表。 Node的构造函数如下所示:
Node::Node(int identifier, bool weighted){
ID_ = identifier;
numberOfConnections_ = 0;
weighted_ = weighted;
}
当我尝试使用此方法在节点之间添加连接时:
void Nodelist::addOneWayConnection(int source, int target){
connections_[source] = &Node(source, weightedlist_); <-- error
connections_[target] = &Node(source, weightedlist_); <-- error
connections_[source]->addConnection(connections_[target]);
}
我收到错误:
错误:获取类型为&#39; Node&#39;
的临时对象的地址
如何存储节点类的引用?
提前致谢!
答案 0 :(得分:0)
您不想存储对该引用的引用。表达后它就不复存在了。它是临时的,&#34;因为错误告诉你。您应该直接存储节点,或者存储指针并使用new
来分配它们。
编辑:从您的评论我发现,connections_实际上需要一个指针(正如我上面说的那样)。您需要分配新节点。
connections_[source] = new Node(source, weightedlist_);
connections_[target] = new Node(source, weightedlist_);