我似乎找不到任何解决办法。
我有一个包含矩阵的'route'类型。如果我这样做:
cout << route << endl;
它可以打印内存 但如果我试试
cout << route[1][1] << endl;
程序刚刚结束,没有任何错误或任何事情。 调试说: “(暂停:信号:SIGSEGV:分段错误)”
这是代码:
//structure is a type I created
Structure ***route = list->searchRoute(startPoint, destination, time);
//should return a matrix
cout << "Avaible routes: \n" << endl;
for(int i = 0; i < 5;i++)
cout << route[1][1]->startPoint << endl;
答案 0 :(得分:1)
分段错误通常意味着您正在访问您不应访问的内存。可能发生的是我们的“矩阵”可能太小而不能在第二行/第二列中有一个块,因此当您尝试访问该位置时会抛出错误(因为您不拥有它)。确保正确分配路线且尺寸合适。