我正在使用
CreateEx(
0, 班级名称, “XXX”, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, RECT, 父母, 0); 在Visual C ++ 6.0中。
当我将其移植到VS 2008时.., 它给出了一条错误信息,说明了......
error C2664: 'BOOL CWnd::CreateEx(DWORD,LPCTSTR,LPCTSTR,DWORD,const RECT &,CWnd *,UINT,LPVOID)' : cannot convert parameter 3 from 'const char [7]' to 'LPCTSTR'
如何纠正同样的问题 谢谢 奇特拉
答案 0 :(得分:2)
LPCTSTR
是指向wide-char变体的typedef
,如果已启用(默认情况下为新版本)。只需将您的文字更改为wide-char(或者更好,使用适当的宏来返回正确的文字):
CreateEx(0, className, _T("XXX"),
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, rect, parent, 0);
答案 1 :(得分:1)
要直接移植旧代码,可以通过右键单击项目名称,转到属性,然后将字符集更改为“多字节”来关闭Unicode。
当然假设您的原始代码尚未使用Unicode ...