2012-07-19 59 views
2

我用这个命令来编译代码如下:如何让g ++在将int64_t转换为int时发出警告?

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; 
} 
+0

什么平台?也许整数已经是64位了?试试'int32_t size = yy;'? – 2012-07-19 06:11:06

+0

Ubuntu的Linux 3.0.0-13-generic我的操作系统是32位 – 2012-07-19 06:14:02

回答

8

尝试-W转换;由于这种警告倾向于产生大量的噪音,所以它不属于-Wall

+0

@jenneb是的,它的工作原理。如果代码喜欢这个,我怎么能得到一个警告? size_t yy = 10; int xx = yy; – 2012-07-19 06:20:42