Re: [STL ] hash_map和VC 2005的問題
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章