这段代码给我一个错误
struct state{
int time_taken;
vector<int>time_live;
string loc_name;
vector<int>loc;
};
for(int u=0;u<(A[start].loc.size());u++)
{
l=A[start].loc[1];
if(A[l].time_taken < min_time)
{
min_time=A[l].time_taken;
finish = l;
}
}
这给出了分割错误。
最佳答案
首先,如果A[start]
超出范围,则可能会出现问题,这可能是段错误,也可能不是,这取决于A
是什么。
其次,在循环中有A[start].loc[1]
,如果A[start].loc
为空,它将超出范围。您是说loc[u]
吗?
关于c++ - 尝试在结构内部打印 vector 大小时出现段错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3769721/