Есть класс, для упрощения восприятия я убрал все лишнее.
Вопрос такой, в одном методе надо использовать 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;
}
};
Вызов будет выглядеть так
outDemo.Process(*this);
Но у вас метод Test является const. Поэтому внутри него *test - это const Demo. Соответственно передать *this как Demo & вы не сможете. Вызвать ваш Process вы сможете только в том случае, если он объявлен как
Demo Process(const Demo& _Demo) const
Я так понимаю, что именно это вам и нужно, но вы просто забыли добавить этот const.
Если Process принимает const Demo &, то правильно так:
Demo Test(Demo& _Demo) const {
Demo outDemo = Demo();
outDemo.Process(*this);
outDemo.Process(_Demo);
return outDemo;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости