Не пустая функция ничего не возвращает дротик - PullRequest
0 голосов
/ 26 марта 2020

У меня есть функция, которая возвращает значение int, но в некоторых случаях я хочу завершить функцию и ничего не возвращать.

Просто чтобы показать пример:

int numberFunc(int num){
    if(num > 10){
       return; 
/* terminates the function for numbers more than 10 */
     }
    return num;
}

Это работает нормально, но Я получаю предупреждение о том, что функция имеет возвращаемый тип int, но она не заканчивается sh с оператором return.

Будет ли проблема, если я использую что-то подобное и что может быть решение для этого?

Спасибо

Решение:

Как пояснил julemand101, мы можем вернуть нулевое значение. Также приведенный выше код возвращает нулевое значение для чисел больше 10, поэтому мы должны позаботиться о возможных нулевых значениях позже.

Ответы [ 2 ]

1 голос
/ 26 марта 2020

Что вам действительно нужно, так это вернуть null, чтобы указать, что метод не возвращает никакого значения:

int numberFunc(int num){
    if(num > 10){
       return null; 
/* terminates the function for numbers more than 10 */
     }
    return num;
}

Но помните, что метод, использующий результат из numberFun c, должен знать, что возвращаемое значение может быть null.

1 голос
/ 26 марта 2020

Вы можете просто вернуть ноль . Это значение по умолчанию для любого типа, который еще не был установлен.

Пример:

int i; совпадает с int i = null

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...