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了!是不是更简单呢?

posted on 2012-11-30 15:39  onedime  阅读(1360)  评论(0编辑  收藏  举报