[C++]vectorの解放

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
LITOL_

[C++]vectorの解放

#1

投稿記事 by LITOL_ » 5年前

グローバルスコープのvectorで作った構造体配列が勝手に解放されてしまい,途中でサイズがゼロになり,vectorの範囲を超えたというエラーが出てしまいます.
これを解放されないようにするにはどうしたらよいでしょうか.
ソースは長すぎるため載せられません.すみません.

アバター
h2so5
副管理人
記事: 2212
登録日時: 9年前
住所: 東京
連絡を取る:

Re: [C++]vectorの解放

#2

投稿記事 by h2so5 » 5年前

ソースがないと何も分からないです。

アバター
MoNoQLoREATOR
記事: 284
登録日時: 9年前
住所: 東京

Re: [C++]vectorの解放

#3

投稿記事 by MoNoQLoREATOR » 5年前

もしVisualStudioをお使いなら、デバッグ中、変数の値が変わったときにブレークさせる方法がありますから、それで一つずつ追っていけばサイズがゼロになる瞬間がどこかわかるのではないでしょうか。
また、ソースコードが長すぎる場合はデバッグが大変ですから、デバッグの前に関数に小分けにしたりなどして整理した方が良いと思います。

アバター
へにっくす
記事: 628
登録日時: 7年前
住所: 東京都

Re: [C++]vectorの解放

#4

投稿記事 by へにっくす » 5年前

LITOL_ さんが書きました:ソースは長すぎるため載せられません.すみません.
最低限のソースを作ってここに載せるか、
zipで固めてダウンロードできるようにして、ここにリンクをはるかしてください。

stlのvectorのことでしたら、勝手に解放されることはないはず
どこかにそのコードがあるはずだと思うのです。
C++ 動的配列クラス std::vector 入門
written by へにっくす

LITOL_

Re: [C++]vectorの解放

#5

投稿記事 by LITOL_ » 5年前

こんにちは.
表題の件ですが,解決いたしました.
vectorが勝手に解放される,と書きましたが,配列(vectorで確保したものではない)の領域外にデータを格納しようとしたため,値が書き換わっていたという単純なミスでした.
お騒がせして申し訳ありませんでした.

へにっくす様,MoNoQLoREATOR様, h2so5様,ご回答ありがとうございました.

閉鎖

“C言語何でも質問掲示板” へ戻る