我在类里定义了一个QList<CBall*> ball_list;
和一个变量 int ball_remain;
draw函数里
CBall *ball=new CBall(1,2);
CBall *ball2=new CBall(2,3);
ball_list.push_back(ball);
ball_list.push_back(ball2);
ball_list.at(0)->draw(); //这个事我CBall类里的函数
ball_list.at(1->draw();
现在一点问题没有,绘制出来两个球
然后我在构造函数里
ball_remain=2;
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(advanceGears()));
timer->start(20);
然后我在advanceGears()函数里
ball_remain++;
还是没问题;
然后我在advanceGears()函数里加了一句
ball_list.at(0)->draw();
然后编译可以通过,运行时报错,ASSERT failure in QList<T>::at: "index out of range", file ..\..\Qt\include/QtCore/../../src/corelib/tools/qlist.h, line 456,这表示数组越界,这是这么回事