有人可以解释一下哪些输入是正确的,使删除功能工作,并解释我原因。
void Graph::remove(Node& rNode)
{
for (std::list<Edge*>::iterator it = rNode.getOutEdges().begin(); it != rNode.getOutEdges().end(); it++) {
remove(*it); //thats not working
}
m_nodes.remove(&rNode);
delete &rNode;
}
void Graph::remove(Edge& rEdge)
std::list<Edge*>& getOutEdges() { return m_outgoingEdges; }