C/c++ Error C2663 Overloads Have No Legal Conversion for 'This' Pointer
这个错误很大可能是由 const 类型的变量调用了非const类型的函数。
例如:
class A
{
public:
int size() {// return somthing};
};
class B
{
public:
int getSize(const A& a)
{
// error. a是const类型,必须调用const function.
return a.size()
}
};
改为:
class A
{
public:
int size() const
{
// return something.
}
};
class B
{
public:
int getSize(const A& a)
{
// success
return a.size()
}
};
这样就没有错误了.