2016-04-16 98 views
0

我試圖編譯Visual C++ 2013的項目,但編譯器拋出這個神祕的錯誤:C++編譯器錯誤信息缺失

Error 1 error C2338: The C++ Standard doesn't provide a hash for this type.

它不會告訴我哪個類是缺少一個散列,它也不會告訴我哪個文件發生錯誤。相反,它將我鏈接到文件xstdef中的一行,這似乎是編譯器的一個庫。

這樣的關鍵信息如何被排除在錯誤信息之外,我該如何去弄清楚哪個類是行爲人?

+2

那麼...找到使用類似地圖的對象的文件。 – erip

+0

這是整個錯誤信息嗎? (查看輸出選項卡,錯誤列表是垃圾。)首先檢查你正在放入你的'std :: unordered_map'。 – molbdnilo

回答

0

如果你看看輸出選項卡,它有時會列出更多的代碼行(例如,從文件/行生成模板實例)。這可以幫助你找到真正的問題 - 它通常會從某處嘗試使用類,而不是直接指向類定義。

如果您已經做出最近的更改,您可以嘗試平分或存儲以找到引入錯誤的更改。