error C2593: “operator +=”不明确
来源:互联网 发布:iphone写日记的软件 编辑:程序博客网 时间:2024/06/05 18:33
http://blog.csdn.net/hxh129/article/details/9380141
在VS2005环境,建立的MFC工程。定义了一个CString 对象m_strInputLine
在消息处理函数
void CTextView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
m_strInputLine += nChar;
}
编译时出错
说重载操作符出错,提示信息:error C2593: “operator +=”不明确
解答如下:
CString,在vs2008中,为unicode,wchar_t基类型。
而CString,在vc6.0中为ansi,char基类型。
所以在vs2008:
m_strInputLine是wchar_t。
应将UINT nChar转换成wchar_t。
处理键盘输入读取按键时
void CWriterView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
CWriterDoc* pDoc=GetDocument();
ASSERT_VALID(pDoc);
pDoc->StringData += (char)nChar;
Invalidate();
CView::OnChar(nChar, nRepCnt, nFlags);
}
编译时出现“operator +=”不明确,也就是pDoc->StringData += nChar;
改正方法:
pDoc->StringData+=(char)nChar,因为系统里面存在一个wchar_t的类型,所以如果支持了这个类型的话,从unsigned nt转换到wchar_t和char的等级都是标准转换,所以编译器无法判断到底应该转换到哪一个,故而导致了这个问题。
处理键盘输入读取按键时
void CWriterView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
CWriterDoc* pDoc=GetDocument();
ASSERT_VALID(pDoc);
pDoc->StringData += (char)nChar;
Invalidate();
CView::OnChar(nChar, nRepCnt, nFlags);
}
编译时出现“operator +=”不明确,也就是pDoc->StringData += nChar;
改正方法:
pDoc->StringData+=(char)nChar,因为系统里面存在一个wchar_t的类型,所以如果支持了这个类型的话,从unsigned nt转换到wchar_t和char的等级都是标准转换,所以编译器无法判断到底应该转换到哪一个,故而导致了这个问题。
在VS2005环境,建立的MFC工程。定义了一个CString 对象m_strInputLine
在消息处理函数
void CTextView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
m_strInputLine += nChar;
}
编译时出错
说重载操作符出错,提示信息:error C2593: “operator +=”不明确
解答如下:
CString,在vs2008中,为unicode,wchar_t基类型。
而CString,在vc6.0中为ansi,char基类型。
所以在vs2008:
m_strInputLine是wchar_t。
应将UINT nChar转换成wchar_t。
处理键盘输入读取按键时
void CWriterView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
CWriterDoc* pDoc=GetDocument();
ASSERT_VALID(pDoc);
pDoc->StringData += (char)nChar;
Invalidate();
CView::OnChar(nChar, nRepCnt, nFlags);
}
编译时出现“operator +=”不明确,也就是pDoc->StringData += nChar;
改正方法:
pDoc->StringData+=(char)nChar,因为系统里面存在一个wchar_t的类型,所以如果支持了这个类型的话,从unsigned nt转换到wchar_t和char的等级都是标准转换,所以编译器无法判断到底应该转换到哪一个,故而导致了这个问题。
处理键盘输入读取按键时
void CWriterView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
CWriterDoc* pDoc=GetDocument();
ASSERT_VALID(pDoc);
pDoc->StringData += (char)nChar;
Invalidate();
CView::OnChar(nChar, nRepCnt, nFlags);
}
编译时出现“operator +=”不明确,也就是pDoc->StringData += nChar;
改正方法:
pDoc->StringData+=(char)nChar,因为系统里面存在一个wchar_t的类型,所以如果支持了这个类型的话,从unsigned nt转换到wchar_t和char的等级都是标准转换,所以编译器无法判断到底应该转换到哪一个,故而导致了这个问题。
0 0
- error C2593: “operator +=”不明确
- error C2593: “operator +=”不明确
- error C2593: “operator +=”不明确
- error C2593: “operator +=”不明确
- 字符输入及error C2593: “operator +=”不明确“问题解决
- VC++ 到vs 2010时error C2593: “operator =”不明确
- C++中 error C2593: “operator +=”不明确的错误解决方法
- error C2593: 'operator +=' is ambiguous
- c++:error C2593: \'operator <<\' is ambiguous
- “operator +=”不明确
- error C2593: 'operator <<' is ambiguous error C2504: 'unary_function' : base class undefined
- 解决VC6.0中ostringstream类输出__int64类型导致的错误error C2593: 'operator <<' is ambiguous
- 孙鑫第5章 遇到error c2593
- error: cout 不明确的符号
- error: “Font”: 不明确的符号
- error C2872: “IDocument”: 不明确的符号
- error C2872: “Font”: 不明确的符号
- error C2872: “ACCESS_MASK”: 不明确的符号
- 理解Window和WindowManager
- jQuery.Autocomplete实现自动完成参数详解
- Android设计模式-建造者模式
- GDB 远程调试Linux (CentOS)
- Linux之文件系统的开机挂载
- error C2593: “operator +=”不明确
- flexbox功能、兼容、原理
- Linux 内核 list_head 学习(二)
- Activity的Window创建
- iOS 模拟器安装 .app 方法
- 第十五周阅读程序(4)
- OCP 052 111
- Networking Programming (1) 网络基础 上
- Android studio 实用插件