Ste*_*rna 2 c++ winapi icons wchar
szTip 字段的长度为 128 个字符,并且是 unicode。它属于 TCHAR 类型,类型定义为 WCHAR。所以我不知道为什么下面的代码片段不能编译。
nid.szTip = _T("ToolTip");
Run Code Online (Sandbox Code Playgroud)
编译错误是
error C2440: '=' : cannot convert from 'const wchar_t [8]' to 'WCHAR [128]'
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
如果您将TCHAR*. 但是,szTip不是TCHAR*,它被声明为TCHAR szTip[64]。
所以你需要将字符串的内容复制到缓冲区中。像这样:
_tcscpy(nid.szTip, _T("ToolTip"));
Run Code Online (Sandbox Code Playgroud)
您真的需要同时支持 ANSI 和 Unicode 构建吗?如果不是,则停止使用TCHAR并切换到 Unicode。然后你可以写一个更易读的版本。
wcscpy(nid.szTip, L"ToolTip");
Run Code Online (Sandbox Code Playgroud)