ホームページ  >  に質問  >  本文

C++ - Vector が予約時にセグメンテーション違反を生成するのはなぜですか?

リーリー

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

巴扎黑巴扎黑2645日前1421

全員に返信(1)返信します

  • 某草草

    某草草2017-06-23 09:16:58

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

    返事
    0
  • キャンセル返事