ページ 1 / 1
[C++]vectorの解放
Posted: 2014年12月23日(火) 17:30
by LITOL_
グローバルスコープのvectorで作った構造体配列が勝手に解放されてしまい,途中でサイズがゼロになり,vectorの範囲を超えたというエラーが出てしまいます.
これを解放されないようにするにはどうしたらよいでしょうか.
ソースは長すぎるため載せられません.すみません.
Re: [C++]vectorの解放
Posted: 2014年12月23日(火) 17:32
by h2so5
ソースがないと何も分からないです。
Re: [C++]vectorの解放
Posted: 2014年12月24日(水) 00:38
by MoNoQLoREATOR
もしVisualStudioをお使いなら、デバッグ中、変数の値が変わったときにブレークさせる方法がありますから、それで一つずつ追っていけばサイズがゼロになる瞬間がどこかわかるのではないでしょうか。
また、ソースコードが長すぎる場合はデバッグが大変ですから、デバッグの前に関数に小分けにしたりなどして整理した方が良いと思います。
Re: [C++]vectorの解放
Posted: 2014年12月24日(水) 06:31
by へにっくす
LITOL_ さんが書きました:ソースは長すぎるため載せられません.すみません.
最低限のソースを作ってここに載せるか、
zipで固めてダウンロードできるようにして、ここにリンクをはるかしてください。
stlのvectorのことでしたら、勝手に解放されることはないはず
どこかにそのコードがあるはずだと思うのです。
C++ 動的配列クラス std::vector 入門
Re: [C++]vectorの解放
Posted: 2014年12月24日(水) 16:10
by LITOL_
こんにちは.
表題の件ですが,解決いたしました.
vectorが勝手に解放される,と書きましたが,配列(vectorで確保したものではない)の領域外にデータを格納しようとしたため,値が書き換わっていたという単純なミスでした.
お騒がせして申し訳ありませんでした.
へにっくす様,MoNoQLoREATOR様, h2so5様,ご回答ありがとうございました.