当我编译下面的代码而没有任何警告使用g ++ 4.1.2并启用-Wall -Wextra -Wconversion时,我感到非常惊讶。
我希望g ++向我展示每一个警告,以避免潜在的伤害。我必须坚持使用g ++ 4.1.2。
#include <stdint.h>
#include <string>
using namespace std;
int main()
{
uint8_t u1=1;
uint64_t u64=1000;
string s1="";
u1=u64; // want warning here
s1=u64; // want warning here
s1=u1;
}
答案 0 :(得分:4)
我担心4.3之前的GCC似乎不支持这个。 -Wconversion
的描述在4.2和4.3之间发生了变化,以反映新的警告行为,并且没有迹象表明4.3之前的GCC会检查这一点。