[問題] invalid suffix '+' on integer constant
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
No.
問題(Question):
如下的程式碼會產生compile error.
餵入的資料(Input):
No.
預期的正確結果(Expected Output):
No.
錯誤結果(Wrong Output):
compile error : invalid suffix '+' on integer constant
程式碼(Code):(請善用置底文網頁, 記得排版)
int a = 0x1f+1; //no error
int b = 0x1e+1; //error
int c = 0x1e + 1; //no error
補充說明(Supplement):
我認為root cause是因為科學記號e的關係.
但在Visual C++的環境下不會有 compile error.
想請問各位強者版友, 這樣的寫法 GCC 對於16進位的precedence處理
和VC++有所不同, VC++先解讀十六進位0x, 但GCC先解讀科學記號e.
這部分C的 precedence rule似乎沒有定義, 請各位強者版友解惑了!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.85.0.129
※ 編輯: MauriceLM 來自: 219.85.0.129 (07/16 23:33)
※ 編輯: MauriceLM 來自: 219.85.0.129 (07/16 23:33)
→
07/16 23:36, , 1F
07/16 23:36, 1F
→
07/16 23:39, , 2F
07/16 23:39, 2F
→
07/16 23:47, , 3F
07/16 23:47, 3F
推
07/16 23:50, , 4F
07/16 23:50, 4F
→
07/16 23:51, , 5F
07/16 23:51, 5F
推
07/16 23:51, , 6F
07/16 23:51, 6F
→
07/16 23:54, , 7F
07/16 23:54, 7F
→
07/16 23:56, , 8F
07/16 23:56, 8F
推
07/17 00:00, , 9F
07/17 00:00, 9F
→
07/17 00:01, , 10F
07/17 00:01, 10F
→
07/17 00:04, , 11F
07/17 00:04, 11F
→
07/17 00:05, , 12F
07/17 00:05, 12F
→
07/17 00:05, , 13F
07/17 00:05, 13F
→
07/17 00:06, , 14F
07/17 00:06, 14F
→
07/17 00:07, , 15F
07/17 00:07, 15F
→
07/17 00:32, , 16F
07/17 00:32, 16F
→
07/17 08:14, , 17F
07/17 08:14, 17F
→
07/17 09:01, , 18F
07/17 09:01, 18F
→
07/18 04:09, , 19F
07/18 04:09, 19F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章