有这么一个类
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即可

本文探讨了C++中使用常量引用作为构造函数参数的情况,并解释了如何正确地在常量成员函数中调用非静态成员变量的方法。通过具体的代码示例,展示了在构造对象引用时需要注意的问题及解决办法。
6186

被折叠的 条评论
为什么被折叠?



