2012-04-23 8 views
0
struct air_message 
{  
    deque<int> path; 

    int dest_region; 
    int dest_airport; 
    int next_region; 

    int msg_from; 
}; 

私はこの構造を持っています。そして、私は私が(「m」はair_message構造体のポインタである)、セグメンテーションフォールトエラーを取得しています。このコードdeque segfaultエラー

deque<int> p = graph->get_shortest_path(source_region, dest_region);      
m->path = p; 
このラインで

m->path = p; 

を持っています。

+6

あなたは 'm 'が指すオブジェクトを正しく割り当てていませんでした。 –

+1

'm'が正しく初期化されていると思いますか? –

答えて

1

mを割り当てるコードを調べる必要があります。 mは有効なポインタではないため、ここでの問題は両端キュー自体ではありません。

たとえば、あなたが持っている唯一のコードがある場合:

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

は、[はい、 mは有効になりません。