deque segfault错误

时间:2012-04-23 03:37:39

标签: c++ segmentation-fault std

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结构的指针)。

1 个答案:

答案 0 :(得分:1)

您需要检查分配m的代码。你的问题不在于deque本身,而是因为m不是有效的指针。

例如,如果您拥有的唯一代码是:

struct air_message *m;
deque<int> p = graph->get_shortest_path (blah, blah);                    
m->path = p;

然后是,m将无效。