比如重载一赋值运算符:
Counter Counter::operator+ (const Counter & rhs)
{
return Counter(itsVal + rhs.GetVal());
}
Counter为类。《21天学通C++》(第5版)是这样写的。但用VS2008编译过程中,这样不可行,在return那行报错,提示“不能将“this”指针从“const Counter”转换为“Counter &” ”。
我的理解是rhs是const Counter类型的,而this是Counter类型的。区别就是一个是const,一个是非const的。故不能通过编译。
期待让我解惑的答案!多谢!
另外,CSDN主页这段时间显示不正常,论坛头像也显示不了。都很长时间了。