2009-07-05 170 views
4

當我跟着MSDN document使用CA2W改爲big5字符串轉換爲Unicode字符串轉換在Visual Studio中我有一個奇怪的編譯錯誤,2005年CA2W給了我一個「‘AtlThrowLastWin32’:標識符找不到」錯誤

這是代碼我寫道:

#include <string> 
#include <atldef.h> 
#include <atlconv.h> 

using namespace std; 


int _tmain(int argc, _TCHAR* argv[]) 
{ 
    string chineseInBig5 = "\xA4\xA4\xA4\xE5"; 
    ATL::CA2W(chineseInBig5.c_str()); 
    return 0; 
} 

的編譯錯誤:錯誤C3861:「AtlThrowLastWin32」:標識符找不到

我不知道這是怎麼發生。 document of AtlThrowLastWin32顯示需要atldef.h,但我無法在atldef.h中找到AtlThrowLastWin32的聲明。

回答

7

我最後加入解決了這個問題2包括頭:

#include <atlbase.h> 
#include <atlstr.h> 

我不知道爲什麼MSDN文檔沒有提到。

+1

MSDN(你鏈接到頁面上)說: >要求 >頭文件AtlBase.h,AtlConv.h(在AtlConv.h聲明) – 2009-07-05 13:30:51

相關問題