Fel*_*tti 2 c gcc compiler-flags compiler-warnings
我的代码是这样的:
#define ZERO_CONSTANT 0
foo(size_t * p_size);
foo(ZERO_CONSTANT); //Doesn't warn
Run Code Online (Sandbox Code Playgroud)
哪个gcc标志会拨打电话foo(ZERO_CONSTANT)进行警告?
没有编译标志可以帮助你.C标准定义了文字0代表任何类型的空指针值.很多时候你会看到0,NULL和(void*)0.
(注意清楚,这并不意味着存储器地址是0.因为它是未定义的行为总体上的积分值分配给任何指针类型,0被用作占位符文字为空指针).