C++ - Vector が予約時にセグメンテーション違反を生成するのはなぜですか?
巴扎黑
巴扎黑 2017-06-23 09:14:58
0
1
1467
リーリー

これはコア ファイルのコール スタックです。コードを投稿するのは不便です。この状況の一般的な理由は何ですか?

巴扎黑
巴扎黑

全員に返信(1)
某草草

セグメンテーション違反が発生しました。基本的な原因は不正なメモリアクセスです。エラー メッセージの多くに Malloc が表示されますが、これはメモリを申請することを意味します。ベクターの予約によりベクターの容量が増加しますが、そのサイズは変わりません。 Reserve はコンテナーの予約済みスペースですが、実際にはそのスペース内に要素オブジェクトが作成されないため、新しいオブジェクトを追加する前にコンテナー内の要素を参照することはできません。新しい要素を追加するときは、push_back()/insert() 関数を呼び出します。コードがないので、上記は私の個人的な意見です。ご回答いただければ幸いです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート