0

私は次のような構造体でリストを使用しようとしています:

typedef struct _MS
{
    DWORD id;
    std::list<std::wstring> titles;
} MS;

しかし、いざ使おうとすると問題が発生します。

実行時にデバッガーの下で見ると、'titles = 0xcdcdcdcd' になり、呼び出そうとする_iterator = MS.titles.begin()と、メモリ アクセス違反で失敗します。

私は何を間違っていますか?

4

1 に答える 1

1

この値0xcdcdcdcdは、MSコンパイラが削除されたメモリをマークするために使用されます。

問題はstd::list、ではなく、削除されたオブジェクトへのポインタの使用にある可能性があります。

于 2012-04-08T18:29:35.397 に答える