Re: [STL ] hash_map和VC 2005的問題

看板Programming作者 (平衡)時間18年前 (2006/11/16 16:29), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《tinlans.bbs@whshs.cs.nccu.edu.tw (汀)》之銘言: : ※ 引述《Linvail.bbs@ptt.cc (平衡)》之銘言: : > 我的環境是VC++ 2005 Express 和MS Platform SDK for Windows Server 2003 R2 : 這個環境我沒有用過。 : > 我可以正常編譯和使用<vector> <algorithm>,但是include <hash_map>就會出現 : 你的標題有問題, : hash_map 是你用的 library 自行製作的 extensions, : 並不包含在 STL 裡面喔, : 所以標 STL 是不適當的。 根據我手邊的MSDN,hash_map和map, set, multiset都是STL裡面的associative container,不過它有說hash_xxx是not officially part of STL standard 同樣的code我用VS 2005 Team Suite可以成功無誤的編譯,所以我應該會換個環境..... 不過對於在Express+Platform SDK這種免費的環境上居然會出錯,實在有點堵爛XDD 你的資訊還是讓我受益良多 多謝了 : > 一大堆錯誤,錯誤都是出現在非我寫的那些檔案上 : > 請問有沒有人能協助解決問題呢? : > 例如我編譯以下MSDN提供的範例: : > 在這些檔案上都有錯誤 xhash, hash_map, xlocinfo.h : > 舉幾個在xhash上的錯誤: : > C:\Program Files\Microsoft Visual Studio 8\VC\include\xhash(41) : error : > C2143: 語法錯誤 : 遺漏 ';' (在 ''template<'' 之前) : > C:\Program Files\Microsoft Visual Studio 8\VC\include\xhash(41) : error : > C4430: 遺漏型別規範 - 假設為 int。注意: C++ 不支援 default-int : 光是這樣看很像是你的 header file 內容有問題, : 也有可能是因為你前面那個 #define 害 xhash 裡面的內容出問題, : 建議你直接打開 xhash 這個檔案檢查看看是怎麼回事。 : 僅僅從錯誤訊息來看, : C2143 所說的可能是前面的 class 定義式結尾少了分號, : 或是前面的 variable/function 定義或宣告結尾少了分號什麼的; : 而 C4430 這個錯誤是來自於 C 的寫法, : 在 C 不寫出 type 的話預設就是 int type, : 在 C++ 一定要寫明才行。 恩 我嘗試將專案預設值改成C,不過問題還是一樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.79.108
文章代碼(AID): #15N25JY8 (Programming)
文章代碼(AID): #15N25JY8 (Programming)