我在MFC Visual .NET 2008中创建了一个普通的Vertical Slider变量。当我尝试通过以下代码行初始化Slider控件变量时,我称之为“m_VSliderBar
”
m_VSliderBar.SetRange(0, 100, TRUE);
m_VSliderBar.SetPos(0);
m_VSliderEcho.Format("%d", 0);
然后输出以下错误:
error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
我不明白这个错误。有人可以帮我正确编译代码吗?
答案 0 :(得分:1)
你显然有一个Unicode版本。试试这个:
m_VSliderEcho.Format(_T("%d"), 0);
错误消息告诉您Format
函数需要wchar_t
参数(即16位字符,这意味着Unicode),并且您提供了一个ANSI字符串。 _T()
宏会根据您的项目属性将正确的修饰符添加到文字字符串中。
因此对于Unicode构建,这将转换为;
m_VSliderEcho.Format(L"%d", 0);