有一个类,为了简化感知,我去掉了所有不必要的。
问题是,在一个方法中,您需要使用 2 个对象Demo来创建第三个对象,但这两个对象之一是调用其方法的对象
class Demo {
public:
// Делаем что-то умное, для упрощения понимания все лишнее удалено
Demo Process(Demo& _Demo) const {
Demo outDemo;
return outDemo;
}
Demo Test(Demo& _Demo) const {
Demo outDemo = Demo();
outDemo.Process(this); // Тут ошибка
outDemo.Process(_Demo);
return outDemo;
}
};
通话看起来像这样
但是你的方法
Test是const。因此,里面*test是const Demo。因此,您将无法传达*this如何。Demo &只有Process当它被声明为我知道这正是你所需要的,但你只是忘了添加这个
const.如果
Process接受const Demo &,那么它是正确的: