0
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構造体のポインターです)。

4

1 に答える 1

1

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

たとえば、次のようなコードしかない場合:

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

はい、m有効ではありません。

于 2012-04-23T03:47:52.463 に答える