Re: [問題] __int64位啥不能assign值進去

看板C_and_CPP作者 (PCMan 2004)時間18年前 (2006/01/25 03:23), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
※ 引述《feosus (FEOSUS)》之銘言: : 我的程式用到__int64的data type : 在compiler時卻發生了錯誤 : __int64 x; : cin >> x; : 他顯示no operator defined which takes a right-hand operand of type '__int64' : (orthere is no acceptable conversion) : 感覺非常奇怪,原本使用的環境是Visual c++ 6.0 : 後來我換了一個環境Dev c++卻又可以成功的執行 : 小弟是新手不知道有沒有版友可以幫我解答<(_ _)> 因為本來就沒有 __int64 這種東西 這是微軟自創語法.... 不能用很正常 64 bit 整數各家 compiler 支援方式不一 VC++ 用 __int64 gcc 用 long long 你可以 typedef long long __int64 你以為這樣就結束了嗎?沒有 你用 c++ 還好,你如果用了 C 的 printf.... 很不幸, VC++ 和 gcc 在 format 對 64 bit int 的指定方式不同 一個是 I64 另一個是 lld 基本上大部分的 compiler 都差不多,一般是只有微軟的會跟大家都不一樣 所以建議你除非必要不要用 VC++,以免自找麻煩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.100.8

01/25 03:26, , 1F
long long 是 %lld
01/25 03:26, 1F

01/25 03:26, , 2F
謝謝更正,剛剛漏打,是 lld 沒錯 @@ 虧我前天才用到 ><
01/25 03:26, 2F
※ 編輯: HZYSoft 來自: 218.167.100.8 (01/25 03:27)

01/25 08:17, , 3F
要用的話請用VC7 cin cout已經有支援long long的IO
01/25 08:17, 3F
文章代碼(AID): #13rdwKhB (C_and_CPP)