Функция возвращает ссылку на Intошибка возврата при возврате ссылочный
int& MyClass::getElement(int position)
{
if (position < _size)
return (_array[position]);
return ([...]) // An Error
}
Мой первый думаю было вернуть NULL. Но, очевидно, ссылка не может быть NULL.
Каков правильный способ возврата ошибки в этом случае?
Единственный способ, который не включает магическое число, - это создание исключения. – juanchopanza
Я согласен с текущими ответами, но хочу добавить точку: исключение - это когда ваша функция не может придерживаться собственного интерфейса. В этом случае интерфейс обещает, что «если вы дадите мне« int », я дам вам еще один« int' назад ». Поскольку случай ошибки нарушает этот контракт, это исключительная ситуация. –
Вы также должны проверить отрицательный индекс или использовать неподписанный тип. –