错误 C2664 “void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::Format(UINT,…)”: 无法将参数 1 从“const char [13]”转换为“const wchar_t *” cgYGX1FillPoly c:\users\11834\desktop\图形学\程序\cgygx1fillpoly\cgygx1fillpoly\cgygx1fillpolyview.cpp 187
原代码
CString strMsg;
strMsg.Format("Value:%d", m_Begin);
MessageBox(strMsg);
报错原因
要求参数是宽字符,我们给的确实字母字符
解决
将字符转换为宽字符
用L 或者_T
代码
CString strMsg;
strMsg.Format(L"Value:%d", m_Begin);
MessageBox(strMsg);
CString strMsg;
strMsg.Format(_T("Value:%d"), m_Begin);
MessageBox(strMsg);
其他
之前MFC调试找到的messagebox输出变量的方法
也是一样的错误!
不知道是版本的问题还是其他问题。
一点说明
我用的是MFC,在这个模块里是默认可以使用CString的.
如果是其他的模块
需要包含头文件
#include “string”
#include “afx.h”