Я только начинаю в C++ и у меня возникает проблемы с одной частью моего назначения:Проблем возвращающих объект в C++
class Something {
public:
Random& random(); // should access a data member of type Random
private:
Random test(int r, int c);
}
Random& Something::random() {
return (Random&) test;
}
и теперь есть ошибка с «тестом» в определении функции из random(), потому что «выражение должно быть lvalue», и я построил решение, и сообщение об ошибке указано «&»: незаконная операция над выражением функции связанных членов »
Мне нужно сохранить декларацию функции так оно и есть, потому что это указано в спецификациях.
Как исправить это?
'test' является функция – P0W
Вы пытаетесь объявить' test' как переменные, или как функции члена? – AdamJames
Не только это, даже если бы вы правильно назвали 'test', вы возвращаете ссылку на временную. Это не может привести к хорошим вещам. – PaulMcKenzie