【发布时间】:2013-02-25 22:00:34
【问题描述】:
QList::operator[] 中的 ASSERT 失败:“索引超出范围”,为什么?
QList<int> tanksLevel; ...... for(int i=0; i < 6; i++) tanksLevel[i] = rand() %51;
【问题讨论】:
-
可能您的索引超出范围:)
QList::operator[] 中的 ASSERT 失败:“索引超出范围”,为什么?
QList<int> tanksLevel; ...... for(int i=0; i < 6; i++) tanksLevel[i] = rand() %51;
【问题讨论】:
表示i >= tanksLevel.size()。检查那个。你可能想先用正确的大小初始化你的列表,或者使用QList::append而不是operator[]。
【讨论】:
QList<int> tanksLevel(6); //using contructor, or... tanksLevel.resize(6); //after contruction, or... for(...) tanksLevel.append(newValue); //appending new value after each iteration