私はC++に慣れようとしています。 ディメンションを知らずにファイルから行を読み込むたびに、動的配列にオブジェクトを追加します。 Rlmrは、IDなどの公共の文字列を持つクラスですオンザフライオブジェクトの初期化C++
Rlmr *myArray;
:
は、私はこのような配列へのポインタを宣言しました。 は今、私はラインでファイルの行を読んで、その後私は、コンパイラからのエラーを理解していませんmyarrayの にオブジェクトを追加したい:
error: no match for âoperator=â in â*(myArray+ ((unsigned int)(((unsigned int)index) * 28u))) = (operator new(28u), (<statement>, ((Rlmr*)<anonymous>)))
â
どうしたのですか。そして、どのようにしてstd :: vectorを使って行うことができますか? 両方の点を理解したい、ありがとう。
いくつかのことが間違っています。 'malloc'。 'malloc'はCではなくC++です。 C++コードは 'new'を使います。さらに、 'malloc'または' new'のどちらかを使うべきではありませんが、 'std :: vector'を使って配列のサイズを自動的に変更することを心配してください。 「C++に慣れたい」場合は、C++コンテナを正しく使用する方法を学ぶのが最善の方法です。最近のC++コードでは、ほとんどすべてのメモリを動的に割り当てる必要はありません。'std :: vector'の使い方を使いたいのであれば、C++の本はstackoverflow.comの簡単な答えよりはるかに優れた説明を提供します –
...特に本のリストが[良いC++の本](http://stackoverflow.com/q/388242/1782465) – Angew