作者dSnAil (蝸牛無量)
看板C_and_CPP
標題[問題] double 變數用科學符號給值的問題
時間Sat May 23 23:03:46 2009
最近在把網路收集到的 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
1F:→ chrisdar:double INFINITY = 10000000000; XDDD 05/23 23:17
2F:→ chrisdar:double INFINITY = 10000000000.0; 05/23 23:18
3F:→ dSnAil:可是我把 1E+10 改成 0 照樣會出錯...不知道為什麼 05/23 23:22
4F:推 VictorTom:為什麼錯誤訊息看起來像您不應該這樣定義 INFINITY ?? 05/23 23:41
5F:→ VictorTom:這是它的特殊字, 希望用func call的方式initialize?? 05/23 23:41
6F:→ dSnAil:剛剛改成用 #define 就解決了...INFINITY 是特殊保留字嗎? 05/23 23:45
7F:推 VictorTom:不曉得, 小弟沒用過Code::Block, 純看訊息亂猜的Orz 05/23 23:48
8F:→ VictorTom:所以其實不是func call, 而是用define啊, 猜錯了XD 05/23 23:49
9F:→ dSnAil:可是剛剛翻過全部 include 的檔案,沒看到INFINITY 05/24 00:16
10F:→ dSnAil:所以說是我見鬼了嗎 orz 05/24 00:16
11F:推 sunneo:我猜他被展開成 double __builtin_inf() = 100000 ... 05/24 03:48
12F:→ sunneo:也許在哪有 #define INFINITY __builtin_inf() 05/24 03:54
13F:推 wowtiger:+inf 不是 1.0f/0.0f 嗎? 05/24 12:16