error C2664: “MessageBoxW”: 不能将参数 2 从“char [20]”转换为“LPCWSTR”


MessageBox(hwnd,szChar,"char",0);

MessageBox 在2008中定义为 MessageBoxW W指的是宽字节(也叫UNICODE),有3种方法可解决 
①用函数MessageBoxA 
②在内容前加上TEXT(对变量无效),如MessageBox(hwnd,szChar,TEXT("char"),0);

③在项目属性->常规中,把Uicode改成多字符段。

PS:在2008中,很多函数的返回值都是宽字节的,所以不一定要用MessageBoxA 
在MSDN上可以查到用宽字节的函数和同样功能普通函数的名称。 
在6.0中没用宽字节

你可能感兴趣的:(error C2664: “MessageBoxW”: 不能将参数 2 从“char [20]”转换为“LPCWSTR”)