我有一个简单的C代码,在其中我通过引用进行传递,如下所示:
#include <stdio.h>
void fun(int *a)
{
*a = 12;
}
int main()
{
int a=10;
printf("%d\n",a);
fun(&a);
printf("%d\n",a);
return 0;
}
皮棉抛出:
error:custodial pointer 'a' has not been freed or returned.
我不想抑制皮棉警告;我宁愿避免该错误。该符号a
保持为托管状态,直到将其传递给另一个函数为止。在这里,我没有将其传递给另一个函数。另外,由于我正在从main()
访问其引用,因此无法释放它。如何克服棉绒警告?