当将 int64_t 转换为 int 时,如何让 g++ 发出警告?

4
我使用以下命令编译下面的代码:

g++  -ansi -pedantic -Wall -Wextra myfile.cpp

我希望能够收到一个警告,提示 int64_t 被转换成 int。但是却没有任何警告信息。我该如何实现这个目标?

我的 g++ 版本为 4.6.1。

//file:myfile.cpp
#include <iostream>
using namespace std;
int main()
{
    int64_t yy = 10;
    int size = yy;
    cout << size << endl;
}

什么平台?也许ints已经是64位了?尝试int32_t size = yy; - Paul R
Ubuntu Linux 3.0.0-13-generic,我的操作系统是32位。 - notbad
1个回答

10

尝试使用-Wconversion; 由于此警告倾向于产生大量噪音,因此它不是-Wall的一部分。


@jenneb 是的,它可以运行。如果代码像这样,我该如何获得警告?size_t yy=10; int xx=yy; - notbad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接