我想習慣C++。 我想在每次從文件中讀取一行而不知道維時,在動態數組中添加一個對象。在飛行對象初始化C++
我宣佈這樣一個指針數組:
Rlmr *myArray;
其中Rlmr是與公共字符串作爲ID的一類。
現在我通過線讀取文件中的行之後,我想一個對象添加到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