如何获得编译警告

时间:2010-07-09 07:34:45

标签: c++ g++

当我编译下面的代码而没有任何警告使用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;
}

1 个答案:

答案 0 :(得分:4)

我担心4.3之前的GCC似乎不支持这个。 -Wconversion的描述在4.2和4.3之间发生了变化,以反映新的警告行为,并且没有迹象表明4.3之前的GCC会检查这一点。