【发布时间】:2016-04-11 20:07:16
【问题描述】:
我正在尝试创建一个节点列表,我有两个类:节点和节点列表。 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]);
}
我得到错误:
错误:获取“节点”类型的临时对象的地址
如何存储对 Node 类的引用?
提前致谢!
【问题讨论】:
-
connections_是如何定义的?您的解决方案很可能是摆脱 &。 -
std::map
connections_; -
您需要为
Node源和目标分配一定的空间。 -
临时对象适用于复制或移动,但不适用于获取引用或地址。