在程序中定义
double* KCOrder
KCOrder=vector(4)
if(KCOrder=NULL)
return; //为了检验开内存是否成功
...
free vector(KCOrder);
程序在free vector中会报错。
调试方式:在程序中每个用到KCOrder的地方加断点,检查是否在某个地方出现了KCOrder[4]及更多的非法访问。
说明存入的数据超出开辟的空间。
避免这一问题的方法:在每次用KCOrder[i]之前加assert,判断i是否<4,一旦超出4,报错。