写代码:
bool spike_judge_d[32][32]={0,0,0,0,0,0,0,0, ...};
bool spike_judge_l[32][32]={0,0,0,0,0,0,0,0, ...};
bool spike_judge_r[32][32]={0,0,0,0,0,0,0,0, ...};
bool spike_judge_u[32][32]={0,0,0,0,0,0,0,0, ...};
正常运行
然后我想,我加这个初始化干嘛是不是傻,删掉:
bool spike_judge_d[32][32];
bool spike_judge_l[32][32];
bool spike_judge_r[32][32];
bool spike_judge_u[32][32];
RE了,错误信息:函数在返回时对【某个地址】的调用出错。
我裂开了,改回来:
bool spike_judge_d[32][32]={0,0,0,0,0,0,0,0, ...};
bool spike_judge_l[32][32]={0,0,0,0,0,0,0,0, ...};
bool spike_judge_r[32][32]={0,0,0,0,0,0,0,0, ...};
bool spike_judge_u[32][32]={0,0,0,0,0,0,0,0, ...};
又对了
卧槽,这什么玄学玩意,还不让我删了?好,今天老子偏要把你删掉!
把spike_judge_u
的初始化删掉,正常运行
再把spike_judge_r
的初始化删掉,正常运行
再把spike_judge_l
的初始化删掉,正常运行
再把spike_judge_d
的初始化删掉,——???又RE了?
把spike_judge_u,spike_judge_r,spike_judge_l
的初始化加上,仍然RE
再把spike_judge_d
的初始化加上,又正常运行
至此,问题排查完毕,就是spike_judge_d
出了事。。。
但我也没对他进行过什么特别的操作啊?
就在我百思不得其解之时,我随便作了个尝试,死马当作活马医,干脆把它们定义的位置调换一下:
bool spike_judge_d[32][32];
bool spike_judge_l[32][32];
bool spike_judge_r[32][32];
bool spike_judge_u[32][32];//从最前面移到了最后面
???居然正常运行了!
百思不得其解的我又把它调换回原位:
bool spike_judge_u[32][32];
bool spike_judge_d[32][32];
bool spike_judge_l[32][32];
bool spike_judge_r[32][32];
???也是正常运行?
你三分钟前不还是运行错误吗?
再总结一下:
bool spike_judge_u[32][32];
bool spike_judge_d[32][32];
bool spike_judge_l[32][32];
bool spike_judge_r[32][32];
↑运行错误
调换一下:
bool spike_judge_d[32][32];
bool spike_judge_l[32][32];
bool spike_judge_r[32][32];
bool spike_judge_u[32][32];
↑运行正常
再调换回来
bool spike_judge_u[32][32];
bool spike_judge_d[32][32];
bool spike_judge_l[32][32];
bool spike_judge_r[32][32];
↑运行正常
今天,我明白了,要用玄学来打败玄学。/yun