作者onicalz ()
站內C_and_CPP
標題[問題] warning C4996 @ VC 2005
時間Wed Feb 18 18:52:04 2009
請問一下各位
這樣的warning所代表的意思是什麼呢?
該怎樣做才會消掉這些warning
warning C4996: 'scanf' 已經宣告為取代
warning C4996: 'fopen' 已經宣告為取代
warning C4996: 'fscanf' 已經宣告為取代
以及
'=' : 從 'double' 轉換為 'float',是由較大的型別轉換為較小的型別,
可能導致資料遺失
這邊我只是寫
float d ;
d = 0.85 ;
不曉得為什麼會出像這樣的警告...
請大家教一下 Thx.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.236.140
1F:→ COLDTURNIP:d = 0.85F 試試 02/18 19:13
2F:→ onicalz:照樓上的方法的確就沒有那一項warning了 但是為什麼呢 ? 02/18 19:40
3F:推 chrisdar:字面常量(Literal Constant) 02/18 19:47
4F:→ onicalz:瞭解了, 謝謝1樓與3樓 . 那還想請問C4996是為什麼呢 ? 02/18 19:53
5F:推 zlw:專案設定可以設定把這項警告關掉,否則一多會拖慢速度 02/18 21:00
6F:→ zlw:至於為什麼,就是新版的編譯器認為這些函數不夠安全,要你換 02/18 21:01
7F:→ onicalz:請問要去哪邊關掉這項警告呢...找不到,關掉應該沒關係吧? 02/18 21:19
8F:→ leslieha:開頭加 #pragma warning( disable : 4996) 這樣? 02/18 22:07
9F:→ onicalz:謝謝樓上,的確看不到warning了。 02/18 22:23
10F:→ onicalz:還有個問題關於VC2005。他只能開C++的專案嗎,能否開C的?? 02/18 22:24
11F:→ HudsonE:C 跟 C++ 有什麼不同? 02/18 22:25
12F:→ onicalz:因為感覺會出現warning是不是因為我開的專案是C++的 = =? 02/18 22:29
13F:→ onicalz:以前寫C 都沒遇過這樣的問題...Orz 02/18 22:29
14F:推 plover:0.85是double. 02/18 22:35
16F:→ zlw:自己慢慢摸索吧 02/18 23:32
17F:→ onicalz:謝謝樓上 02/19 00:42