предупреждение «контроль достигает конца непустой функции» в eclipse c ++, но без компиляции или ошибки времени выполнения

Вот мой код:

Composer& Database::GetComposer (string in_last_name)
{   
    for (int i = 0; i < next_slot_; i++)
    {
        if (composers_[i].last_name() == in_last_name)
             return composers_[i];
    }
}

Идея состоит в том, чтобы перебирать массив объектов Composer и вернуть ссылку на объект, чье поле last_name совпадает с "in_last_name". Я понимаю, о чем мне говорится в предупреждении, а именно о том, что, возможно, функция ничего не вернет (если, скажем, пользователь укажет неверную фамилию). У меня вопрос, как этого избежать? Я пробовал добавить «return 0» и «return NULL» после цикла for, но он не компилировался. Должен ли этот метод вызывать исключение, если ничего не находит?

5
задан wbr 7 December 2011 в 04:34
поделиться