[英]Derefering NULL pointer c++
我收到警告:在第 2、4 行取消引用 NULL 指针 'ch'
我不明白为什么。 有人可以帮我吗?
char *my_alloc(size_t size) {
char *ch = (char *)malloc(size);
//FIXED: If malloc fails -> exit program
if(*ch == NULL){
exit(0);
}
return ch;
}
if(ch == NULL)
是你所需要的
你在代码*ch
取消引用ch
if
ch == NULL
检查ch
是否为NULL
*ch == NULL
检查ch
所指向的项是否为NULL
对于 C++(您在问题中报告使用的内容),答案是
char *ch = new char[size];
在某个时候跟一个delete[] ch
。
然后您不需要检查结果是否为空,因为如果失败就会抛出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.