当我使用启用了 -Wall -Wextra -Wconversion 的 g++ 4.1.2 在没有任何警告的情况下编译以下代码时,我感到非常惊讶。
我希望 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;
}
最佳答案
恐怕 4.3 之前的 GCC 似乎不支持这个。 -Wconversion
的描述在 4.2 和 4.3 之间发生了变化,以反射(reflect)新的警告行为,并且没有迹象表明 4.3 之前的 GCC 会对此进行检查。
关于c++ - 如何获得编译警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3210661/