繁体   English   中英

取消引用 NULL 指针 C++

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM