... QList<int *> myList; ... int *_p = myList[i]; // 如果i 为0,以下就有问题 int* _prep = _p - 1; // 如果i 为0,_prep为什么不是空的 if (NULL != _prep ) // _prep总不为空 { *_prep = 10; // 报错 //... }
NULL是(void *)0 表示0地址,_p-1对应的地址不为0地址。
使用断点调试就一目了然;