有这么一个类
class Test
{
public:
Test(int value):value(value){}
void Display()
{ cout<<this->value<<endl; }
private:
int value;
};
如下代码是不对的
int main()
{
int i = 10;
Test& t1 = i; //编译不通过 把i改为Test(i)就能通过
t1.Display();
return 0;
}
但是在Test& 前面加上const,就不会报错。
但是运行还是不会通过
会报错误:error C2662: “Test::Display”: 不能将“this”指针从“const Test”转换为“Test &”
这时只需将void Display()变为void Display() const即可