错误C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型

第一种方法:

AfxMessageBox( "Simple   message   box. ");如果先定义一个CString   变量,再赋值就没问题
CString   sTemp;
sTemp= "Simple   message   box. ";
AfxMessageBox(sTemp);

第二种方法:

记住一点,VC2005中默认的工程选项是UNICODE就可以了。


所以,加上_T或L是需要的。

AfxMessageBox(_T( "Simple   message   box. "));

第三种方法:

因为vs2005默认使用的是unicode字符编码集,而unicode要占2byte,通常的字符只占1byte,所以导致无法转换。
选择“项目”菜单->项目属性->配置属性->常规->字符集,改为“未设置”即可。多字节字符都行。

原文地址:https://www.cnblogs.com/zCoderJoy/p/3425636.html