C6011警告是Visual Studio在C/C++代码分析时发出的一个警告,提示开发者正在取消对NULL指针的引用。这种操作可能导致未定义行为,甚至程序崩溃。以下是对C6011警告的详细解答和解决方案: 1. 理解C6011警告的含义 C6011警告意味着在你的代码中,有一个指针在没有被检查是否为NULL的情况下被引用了。在C/C++中,如果指针...
实际上是因为是因为忘了做空指针判断,加上之后问题解决: #include<iostream>usingnamespacestd;int*test(intcount){int* p = (int*)malloc(sizeof(int) * count);if(!p) { cout <<"p is null"<< endl; }else{ *(p +0) =5; }returnp; }intmain(){int* p =test(3); *(p +1) =6; *...
malloc调用可能失败,失败时返回NULL,程序没有处理这种异常情况。初读代码,没发现问题,加上malloc失败情况处理if语句试试看。供参考。
技术标签: C6011 c语言此警告表明正在取消引用空指针,如果指针的值无效,结果是未定义的 ↑官方文档的解释 意思就是malloc之后没有检查是不是空间不够返回了空指针NULL 例子 #include<malloc.h> void f() { char *p = (char*)malloc(10); *p = '\0'; //balabala... free(p); } 1 2 3 4 5 6...