Re: [問題] __int64位啥不能assign值進去
※ 引述《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
01/25 03:26, 1F
→
01/25 03:26, , 2F
01/25 03:26, 2F
※ 編輯: HZYSoft 來自: 218.167.100.8 (01/25 03:27)
推
01/25 08:17, , 3F
01/25 08:17, 3F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章