2016-12-28 19 views
0

在C++程序中,而不是iostream.h如果我編寫iostreamhihiju.h它仍然有效。它不會給出錯誤。就像這樣:在C++中允許iostream後寫的東西

iostream後寫

enter image description here

什麼是允許的,有人可以幫忙找原因?

+0

看起來你已經創建了'iostreamhello.h'並且包含'iostream.h'! – CinCout

+1

iostream.h在大約20年中不是C++的一部分。你需要更新你的工具和閱讀材料。 –

+1

我從來沒有想過任何人仍然是這個古老的 – Bauss

回答

4

您似乎在使用古老的基於DOS的編譯器。在DOS中,擴展名之前的文件名最多可以包含8個字符,而更多的是以無提示的方式丟棄。 iostream.h,iostreamx.hiostreamhihiju.h全部命名相同的文件。

當您移至基於Windows的編譯器時,這將停止工作。

+0

...或基於unix的編譯器,或爲任何系統編寫的編譯器,這些編譯器不限於文件名中的8個字符......即自90年代中期以來的大多數編譯器,而不是針對隱蔽嵌入式系統的一對編譯器。 – Peter

+0

@Peter OP已經在使用Windows,這就是爲什麼我堅持使用Windows。 – hvd