Visual Studio 2005でCA2Wを使用してbig5文字列をUnicode文字列に変換するために、 MSDNドキュメントに従ったときに、奇妙なコンパイルエラーが発生しました。
これは私が書いたコードです:
#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':識別子が見つかりません
これがどのように起こるのかわかりません。AtlThrowLastWin32のドキュメントには、atldef.hが必要であることが示されていますが、atldef.hでAtlThrowLastWin32の宣言が見つかりませんでした。