cannot convert parameter 3 from 'class CString' to 'char *'
VC6写的程序,语句m_lstObject.SetItemText(i, 9, strHBSpan);在编译时出错(如标题)。
其中SetItemText定义如下:
BOOL CToolTipListCtrl::SetItemText( int nItem, int nSubItem, LPTSTR lpszText )
strHBPath定义如下:
CString strHBPath;
CString是封装好的字符串处理类,里面包括一个LPCTSTR对象以及若干字符串操作。
LPTSTR就是一个字符串指针类型。
需要像下面这样转换一下:
m_lstObject.SetItemText(i, 9, (LPSTR)(LPCTSTR)strHBSpan);
就ok了。
写完之后,突然发现有一个更好、更简单的办法,就是改变SetItemText函数的定义:
BOOL CToolTipListCtrl::SetItemText( int nItem, int nSubItem, LPCTSTR lpszText )
这样就ok了!是不是更简单呢?