struct air_message
{
deque<int> path;
int dest_region;
int dest_airport;
int next_region;
int msg_from;
};
我有这个结构。我有这个代码
deque<int> p = graph->get_shortest_path(source_region, dest_region);
m->path = p;
在这一行
m->path = p;
我收到了分段错误错误('m'是air_message
结构的指针)。
答案 0 :(得分:1)
您需要检查分配m
的代码。你的问题不在于deque本身,而是因为m
不是有效的指针。
例如,如果您拥有的唯一代码是:
struct air_message *m;
deque<int> p = graph->get_shortest_path (blah, blah);
m->path = p;
然后是,m
将无效。