1
我不完全确定为什么我要为这段代码获得段错误。我有一个我想创建的对象指针数组。这是我的代码。数组指针段错误
edge **test = new edge*[a]; //Edge is a predefined class I have created. a is a my size of my array.
graphCreate2(test, vertices, roads, a); //Note roads is an edge class I have already created also
但是,当我尝试访问edge ** test的元素时,出现段错误。以下是我如何访问它。
void graphCreate2(edge **test, int vertices, edge *roads, int a)
{
for(int i = 0; i < a; i++)
{
e[i]->setEdgeSrc(roads[i].getEdgeSrc());
e[i]->setEdgeDes(roads[i].getEdgeDes());
e[i]->setLength(roads[i].getLength());
cout << e[i]->getLength() << " " << e[i]->getEdgeSrc() << " " << endl;
}
}
可能有人知道我为什么会收到此段错误吗?我以为我分配内存,因为创建数组时调用构造函数谢谢!
使用std :: vector而不是? –
Max