[問題] double 變數用科學符號給值的問題

看板C_and_CPP (C/C++)作者 (蝸牛無量)時間16年前 (2009/05/23 23:03), 編輯推噓4(409)
留言13則, 5人參與, 最新討論串1/1
最近在把網路收集到的 code 改寫, 結果其中一行 code 移植到 Code::Block 時就遇上了問題, 以下是有問題的程式碼: double INFINITY = 1E+10; 以下是 Code::Block 在 Build 時傳回的 error: error: function `double __builtin_inf()' is initialized like a variable 因為不熟這類語法所以不知道該從何改起..... 請問一下各位先進, 這一行要怎麼樣改才能夠順利 compile 呢? 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.252.59

05/23 23:17, , 1F
double INFINITY = 10000000000; XDDD
05/23 23:17, 1F

05/23 23:18, , 2F
double INFINITY = 10000000000.0;
05/23 23:18, 2F

05/23 23:22, , 3F
可是我把 1E+10 改成 0 照樣會出錯...不知道為什麼
05/23 23:22, 3F

05/23 23:41, , 4F
為什麼錯誤訊息看起來像您不應該這樣定義 INFINITY ??
05/23 23:41, 4F

05/23 23:41, , 5F
這是它的特殊字, 希望用func call的方式initialize??
05/23 23:41, 5F

05/23 23:45, , 6F
剛剛改成用 #define 就解決了...INFINITY 是特殊保留字嗎?
05/23 23:45, 6F

05/23 23:48, , 7F
不曉得, 小弟沒用過Code::Block, 純看訊息亂猜的Orz
05/23 23:48, 7F

05/23 23:49, , 8F
所以其實不是func call, 而是用define啊, 猜錯了XD
05/23 23:49, 8F

05/24 00:16, , 9F
可是剛剛翻過全部 include 的檔案,沒看到INFINITY
05/24 00:16, 9F

05/24 00:16, , 10F
所以說是我見鬼了嗎 orz
05/24 00:16, 10F

05/24 03:48, , 11F
我猜他被展開成 double __builtin_inf() = 100000 ...
05/24 03:48, 11F

05/24 03:54, , 12F
也許在哪有 #define INFINITY __builtin_inf()
05/24 03:54, 12F

05/24 12:16, , 13F
+inf 不是 1.0f/0.0f 嗎?
05/24 12:16, 13F
文章代碼(AID): #1A611LFy (C_and_CPP)
文章代碼(AID): #1A611LFy (C_and_CPP)