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