掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CStringArrayの配列を動的確保して解放するには? (ID:71053)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして。 VC++6.0(SP6適用)、MFC ダイアログベースで開発しています。 aaaaaa bbb ccccccccccc ・・・ といった、行数も1行の文字数もばらばらな文字列をファイルから読み込んで 表示する、というプログラムを作ろうとしています。 CStringArray *result_array = new CStringArray[n]; //CStringArrayの配列を動的確保 -----result_arrayにデータを追加して表示----- delete [] result_array; //解放 nは配列の要素数で、値は現在10(テスト段階なので少なめ)を格納してあります。 他部分のプログラムはあまり影響無いようだったので省略しました。 これを実行すると「ブレークポイントの設定位置 ○○(アドレス)」と出て 混合モードの画面が出た状態で処理がとまります。 int 3の所でとまっており、調べた所配列の要素数を超えてアクセスしている ようです。 1ステップずつ実行してみるとdeleteに問題がある様子。 しかし、正しい解放の仕方が分かりません・・・。 そもそもこのresult_arrayの宣言自体、正しいのか自信が無いです。 newを使っているのでdeleteする必要はありますよね? どうすれば良いのでしょうか。 (足りない情報がありましたらご指摘ください) よろしくお願い致します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.