RT,迭代器player对应的值在调用类DyadicArray下的函数Clear()时被覆盖为零了
#include<iostream>
#include<time.h>
#include<windows.h>
#include<math.h>
#include<list>
#define keyDown(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x800000) ? 1 : 0)
template<typename T1> class DyadicArray {
public:
int width;
T1 a[100000000];
bool Clear() {
memset(a, 0, sizeof(a));
return true;
}
};
DyadicArray<COLORREF> cmap;
std::list<double> entity;
std::list<double>::iterator Spawn(std::list<double> &a) {
a.push_back(0);
return a.end();
}
std::list<double>::iterator temp[3] = Spawn(entity);
std::list<double>::iterator player = Spawn(entity);
bool Calculate() {
if(keyDown(VK_SPACE)) {
*player += 1;
}
std::cout << *player << '\n';
return true;
}
int main() {
while(1) {
Calculate();
cmap.Clear();
Sleep(1);
}
return 0;
}