【发布时间】:2012-08-15 20:16:08
【问题描述】:
我收到以下错误:
C2440: 'type cast' : 无法从 'bool' 转换为 'CString'
以下代码:
if ((CString)XSave->GetVersionAt(j).HasService_Ref())
m_pVersion->SetstrServicesRef((CString)XSave->GetVersionAt(j).GetService_Ref());
感谢任何帮助。
【问题讨论】:
-
GetService_Ref()的返回类型是什么?SetstrServicesRef()的接受类型是什么? -
我认为您需要添加一些额外的括号。
-
不要在 C++ 中使用 C 风格的转换!
-
你试图通过这样的
if条件检查什么?这将始终正确,因为CString将被隐式转换为PCXSTR(实际上是const char*),在MS 实现中永远不会为NULL。可能您需要使用CString::IsEmpty()函数结果。或者只是从if条件中删除CString演员。 -
知道了!看起来
HasService_Ref返回bool但你偶尔会通过复制粘贴将其转换为CString我相信:-)
标签: c++ visual-studio visual-c++ compiler-errors visual-studio-2005