关于函数 InsertColumn第二个参数编译不通过的问题
CListCtrl*pList=(CListCtrl*)GetDlgItem(IDC_LIST);pList-> InsertColumn(0,"工号",LVCFMT_LEFT,120);
pList-> InsertColumn(1,"员工",LVCFMT_LEFT,160);
pList-> InsertColumn(2,"工资",LVCFMT_LEFT,160);
产生编译错误error C2664: 'int CListCtrl::InsertColumn(int,LPCTSTR,int,int,int)' : cannot convert parameter 2 from 'const char [5]' to 'LPCTSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
函数原型:
int InsertColumn(int nCol, const LVCOLUMN* pColumn);
int InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1);
nCol表示要插入列的列号。
pColumn 为新建列属性的LVCOLUMN结构的地址。
对于第二种函数重载,参数lpszcolumnHeading 为列标题的字符串的地址,所以可以使用一个字符串,比如 "姓名"。
nFormat 指定列对齐方式的整数,缺省值是左对齐。它可以为下列值之一:LVCFMT_LEFT,LVCFMT_RIGHT或LVCFMT_CENTER。
nWidth 以像素为单位的列宽。缺省值为-1,表示没有设置列宽。
nSubItem 与列相关联的子项的索引。缺省值为-1,表示没有子项与列相关。
什么原因呢?visual c++ 6.0 可以编译通过,有没有什么办法可以通过 visual studio 2010的编译?