class A
{
int m_It;
public:
int GetIt();
}
int A::GetIt()
{
return m_It;
}
void main()
{
const A * a = new A();
//a->GetIt();//编译错误?
}
Error 1 error C2662: 'A::GetIt' : cannot convert 'this' pointer from 'const A' to 'A &'
1.解决方法一:不使用const
2.使用const_cast(ptr),进行相应的转化
3.将相关的函数转化成相应的const函数
class A
{
int m_It;
public:
int GetIt() const;
}
int A::GetIt() const//这个地方也要加const
{
return m_It;
}
阅读(1585) | 评论(0) | 转发(0) |