GetBuffer' : 2 overloads have no legal conversion for 'this' pointer

今天用vs2010打开了一个vc6.0的工程,遇到了这样的问题

 

此错误常见原因:声明为const的变量调用了未声明为const的成员函数。

不改变内部成员变量和函数都应声明为const类型。

 

 

Definition of GetAt in Visual studio 6 as follows:
CString GetAt(int nIndex) const;

Definition of GetAt in Visual studio 2005 as follows:
const CString& GetAt(INT_PTR nIndex) const;

 

所以pSplitAcctArr->GetAt(i).GetBuffer(0));"

应该修改为

CString csTemp = pSplitAcctArr->GetAt(i);
 csTemp.GetBuffer(0);


你可能感兴趣的:(2010)