看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 6.0 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 只是一個很單純的Hello問題.. 程式碼是這樣的 : #include <iostream> using namespace std; void main(void) { cout << "Hello!\n"; return; } 這樣是對的.. 但如果只把#include的地方改成 #include <iostream.h> 就會出現 error C2871: 'std' : does not exist or is not a namespace 不太理解為什麼會這樣?? 補充說明(Supplement): 我有google了一下 #include<> 與 #include" "的差別 但我在檔案路徑下並沒有任何.h檔 , 所以我想應該都會去找Include路徑下的檔案吧? 而在VC++\Include路徑下 有兩個名為IOSTREAM的檔案 一個看不出附檔名 , 一個附檔名是.h 難道#include<>加了個.h compiler就找不到了嗎? 感謝各位前輩指點.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.133.177
lucky1lk:#include <iostream.h> using namespace std; 10/16 18:54
loveme00835:看到標題就不會想點→進來 10/16 18:55
lucky1lk:問題是你為啥要加h @@ 10/16 18:55
james732:iostream.h是很舊的寫法,當時還沒有namespace std 10/16 18:55
james732:現在標準的拿掉了.h,但所有的東西都擺進了namespace std 10/16 18:56
james732:比較新的編譯器根本沒有iostream.h這個東西了,盡量別用 10/16 18:57
james732:因為vc6年代久遠,它才會同時允許兩種寫法 10/16 18:57
yenhun:謝謝 james大以及其他幾位的回答..我是看到一本書上這樣寫 10/16 19:00
yenhun:#include <iostream.h> 但書上並沒有using namespace 10/16 19:01
yenhun:這樣compiler就會是正確的..所以我感到奇怪想來請教一下 10/16 19:01
yenhun:書名:最新C++精選專題實作 博碩出版 書上使用DevC++ 3.95版 10/16 19:03
tomap41017:推,老舊編譯器的支援真的是C++包袱沉重 10/16 19:03
tomap41017:可不可以砍掉重練阿(怒!) 10/16 19:03
james732:我會建議你不要看那本書,換本新一點的吧,對你沒好處 10/16 19:10
yenhun:恩恩..好的 謝謝各位寶貴的意見!! 10/16 19:13
amozartea:iostream.h好像是用gcc編譯的時候才用的? 10/16 23:49
james732:不是gcc才用,是古老的編譯器才會用 10/16 23:53
priv:1998 ISO C++出來之前大部份的compiler都是支援.h 10/17 10:02
priv:這是為了相容性留下來的 10/17 10:02
priv:如果這本書沒超過十二年的話就是誤人子弟... 10/17 10:04
priv:不過要補充一下,並不是古老的編譯器才能用 10/17 10:05
priv:VC++2010還是照樣可以用 10/17 10:05
priv:不管是作者自己不懂還是亂教,總之不照標準來就是爛書 10/17 10:06