GetCount()得到CArray中存在元素的个数。GetSize()得到CArray实际分配的内存容量(多少个元素),往往比元素个数多几个,用以添加元素时避免频繁的内存申请。因此计算元素个数时应该用GetCount()
你的调用出错,估计是因为当前数组中还没有元素。GetCount()返回0,减去1后变成了-1。最好对GetCount()的返回值判断一下,如果大于0,再调用这句 m_array.RemoveAt(m_array.GetCount()-1);
当蛇在游戏区域中“游动”一格时,所对应的数组操作应该是,将新的位置坐标插入到数组头部,同时将数组中最后一个元素删除。这项工作可以用一个一般的数组来完成,但当进行插入操作时需要自己移动数组中的元素;也可以使用CArray来完成这些工作,CArray的成员函数提供了需要的操作,这样做简单一些。[translate]...