我想习惯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