2012-07-19 58 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