Поведение при вызове функции, отличной от void
(кроме main
), когда управление программой достигает ветви, у которой нет явного значения return
: undefined .
(Обратите внимание, что это более строгое условие, чем в C, где поведение не определено, только если вы пытаетесь использовать возвращаемое значение функции.)
В C ++ вы можете использовать auto
, чтобы получить компилятор для определения типа возвращаемого значения:
auto foo(int n)
{
if (n >= 0){
return true;
} else {
return false;
}
}
, но тип foo
по-прежнему stati c в том смысле, что он известен во время компиляции. Этот подход особенно полезен при работе с шаблонами. Он не предназначен для того, чтобы позволить вам быть небрежным с вашими типами.