0

我正在创建一个这样的列表: QList<Type> types[LastType]; 然后我调整列表的大小: types[SomeType].reserve(count); 然后,当我尝试添加类型时,我这样做: types[SomeType].append(newType);

它给了我一个关于 operator[] 的断言失败。那么,只是我还是我不应该这样做?有什么我想念的吗?这就是错误消息所说的:http://i.imgur.com/LnDNV.png。删除 .reserve 并不能解决问题。

4

1 回答 1

0

因此,假设 aQList确实是 avector在引擎盖下,reserve是错误的调用。您并没有像您说的那样调整列表的大小,而是要求它为至少 size更多元素分配空间。是的,它分配了更多空间,但不会改变列表的大小

在任何情况下,对该函数的调用都不会影响向量中包含的元素,也不会影响向量大小(为此,请参阅 vector::resize 或 vector::erase,它们会修改向量大小和内容)。

听起来你想要resize这里。

于 2012-07-02T23:43:21.427 回答