gcc 4.7.2 c89
Hello,
我收到以下警告:
pointer/integer type mismatch in conditional expression
我正在编译以下内容CFLAGS -Wall -Wextra
fprintf(stderr, "'Failed to open file' Error [ %s ]\n",
(errno == 0) ? "None" : strerror(errno));
程序运行正常,但我看不到警告的全部内容。 “None”和 strerror(errno) 都返回字符串而不是整数值。我将 errno 编号与零进行比较。
非常感谢您的任何建议,
检查您是否已包含<string.h>
标头。如果不是,则返回值strerror
可以被视为整数值。这可以解释为什么程序运行正常(链接器可以找到一个名为的匹配函数strerror
,因为默认情况下链接了 C 标准库),而编译器会报告警告。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)