在我的代码,我需要这样做:检查,如果矢量指数为空
if (edges[j].ConnectedToNode() != i) //problem line
{
edges.push_back(Edge(i, j, nodes[i].Position(), nodes[j].Position(), distanceToNode));
}
然而,有一个边[J]尚不存在的可能性。我该如何测试以避免和索引超出范围的异常? (这是路径节点做的,本质上如果有连接J可我的优势,我不想从我添加另一个到j
它看起来像你混合指数。您将j用作边的索引,并将其用作节点的索引。 push_back会将您正在创建的Edge对象的副本附加到边缘数组中。它不一定会进入第j个指数。考虑使用boost :: graph库。 –
你是绝对正确的,我正在更新我的代码,并且边缘正在从矢量变为从指数到边缘的地图矢量 – SirYakalot