• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++のvectorについて教えてください。)

C++のvectorについて教えてください

このQ&Aのポイント
  • C++のvectorについての疑問を解決するためにテストコードを書いたが、Debug版でコンパイルする際にエラーが出る
  • Release版でのコンパイルは通るため、Debug版で問題を解決する方法を知りたい
  • Visual Studio 2008 Academic Editionを使用している

質問者が選んだベストアンサー

  • ベストアンサー
  • qwertfk
  • ベストアンサー率67% (55/81)
回答No.1

vectorに指定するクラスにはデフォルトコンストラクタが必要です。 class IntType { private:  int num; public:  IntType(void):num(0) {};  IntType( int n ):num( n ){}; }; とすると、おそらくコンパイルできるようになるはず。 多分そのコードだとReleaseでも通らないと思うんですけどね...

0xEF
質問者

お礼

ありがとうございます。 VisualStudioを再インストールしたらコンパイルが通りました・・・ お騒がせしました><!

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

main の返り値を void にするのはいかがなものかと思うな. あと, この形ではデフォルトコンストラクタはいらないんじゃないかな>#1. 確かに一部の関数ではデフォルト引数としてデフォルトコンストラクタ (が作る値) を要求するけど, ここではそのような関数は使われていないので. とはいえコンテナライブラリではコピーコンストラクタと代入演算子を要求するので, やっぱり駄目であることに変わりはない.

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.2

他のところが影響しているのではないでしょうか。 拡張子が.cになっているとか。 VisualStudio2008 Express editionでは何の変更も加えずにDebug/Releaseともコンパイルが通ります。

関連するQ&A

専門家に質問してみよう