CA2W给了我一个“‘AtlThrowLastWin32’:标识符找不到”错误(CA2W gave

2019-09-17 16:13发布

我有一个奇怪的编译错误,当我跟随MSDN文档使用CA2W到中文字符串转换为Unicode字符串在Visual Studio 2005。

这是我写的代码:

#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是必需的,但我找不到AtlThrowLastWin32的atldef.h声明。

Answer 1:

我终于加入2包括头解决了这个问题:

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

我不知道为什么MSDN文档没有提到。



文章来源: CA2W gave me a “'AtlThrowLastWin32': identifier not found” error