【发布时间】:2015-06-03 04:47:59
【问题描述】:
获取这段代码:
int main()
{
short a = 2, b = 1;
float f = 5.36f;
-a * f;
b * f;
}
编译:
~ $ g++ -std=c++11 wconversion.cpp -Wconversion
wconversion.cpp: In function ‘int main()’:
wconversion.cpp:6:8: warning: conversion to ‘float’ from ‘int’ may alter its value [-Wconversion]
-a * f;
为什么它会警告a,而不是b?
编辑:因为它似乎取决于编译器版本:我使用的是 GCC 4.9。此外,在 a 和 b 不是常量的其他代码中,该行为也是相同的。
【问题讨论】:
标签: c++ gcc floating-point gcc-warning