【发布时间】:2019-10-09 11:56:14
【问题描述】:
void foo(uint32_t* p);
...
float32_t* x;
foo( (uint32_t*)x );
静态代码分析工具报告“casting from float* to integer*" 问题。
如何强制 GCC 编译器报告相同的警告?
编译器选项是:
-pedantic -Wall -Wextra -Wconversion
【问题讨论】:
-
不,
-Wall不这样做...将此信息添加到问题中,谢谢。 -
我不认为有一个编译器选项可以让程序员免于使用无意义的强制转换。
-
为什么要在进行显式转换时收到警告?通过显式转换,您可以告诉编译器您想要更改您的类型。当用户明确表示这是他的意图时,无需发出警告。离开演员表,你会收到警告 (
Wincompatible-pointer-types)。 -
相关的,如果不是真正的欺骗:stackoverflow.com/questions/21214875/…
-
@Blaze 如果我输入我的个人 PIN 码,我可以从自动 ATM 机上获得明确的演员表吗? ;)