CA2W 给了我一个““AtlThrowLastWin32”:找不到标识符” 错误
当我按照 MSDN 文档< /a> 在 Visual Studio 2005 中使用 CA2W 将 big5 字符串转换为 unicode 字符串。
这是我编写的代码:
#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的声明。
I got a strange compilation error when I followed the MSDN document to use CA2W to convert big5 strings to unicode strings in Visual Studio 2005.
This is the code I wrote:
#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;
}
The compilation error: error C3861: 'AtlThrowLastWin32': identifier not found
I don't know how this could happen. The document of AtlThrowLastWin32 shows that atldef.h is required, but I couldn't find the declaration of AtlThrowLastWin32 in atldef.h.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我最终通过添加2个包含头解决了这个问题:
我不知道为什么MSDN文档没有提到这一点。
I finally solved this problem by adding 2 include headers:
I don't know why the MSDN document doesn't mention that.