Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
4 / 4 / 0
Регистрация: 06.05.2016
Сообщений: 71
1

Почему в сокращённой записи if нельзя использовать return

28.03.2019, 11:34. Просмотров 1429. Ответов 4
Метки нет (Все метки)

Здравствуйте.
Решил воспользоваться сокращённой записью if. Например:
C++
1
2
3
4
5
int temp()
{
    int a;
    a > 5? return 5: return 2;
}
И тут обнаружил, что в этой записи использовать return нельзя. Мб плохо искал, но ответа не нашёл. Поэтому появился вопрос: а почему, собственно говоря, запрещено?
Проблем никаких нет, просто интересно.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2019, 11:34
Ответы с готовыми решениями:

Почему нельзя использовать более одной TServerSocket?
Пробовал использовать в программе две компоненты TserverSocket и не получилось. Выдает ошибку:...

Почему break нельзя использовать в if?
почему break нельзя использовать в if вот код if(f.eof()==1) { break; } про break MVS...

Почему нельзя использовать глобальные переменные
Здравствуйте, собственно вышел сиз данным вопросом в гугл и на стаке нашел такой ответ:...

Почему выдает ошибку, что нельзя использовать переменную y1?
Почему выдает ошибку, что нельзя использовать переменную y1? Если заменить переменную y1 на любую...

4
37 / 32 / 10
Регистрация: 31.08.2016
Сообщений: 327
28.03.2019, 12:12 2
когда процессор встречает в функции оператор return, он немедленно выполняет возврат значения обратно в caller и точка выполнения также переходит в caller. Любой код, который находится за return-ом в функции – игнорируется.

Функция может возвращать только одно значение через return обратно в caller
0
851 / 313 / 71
Регистрация: 17.05.2015
Сообщений: 935
28.03.2019, 13:06 3
Цитата Сообщение от Салага2015 Посмотреть сообщение
a > 5? return 5: return 2;
Замените на:

C++
1
return a > 5? 5: 2;
1
278 / 87 / 37
Регистрация: 10.06.2015
Сообщений: 261
28.03.2019, 13:18 4
Лучший ответ Сообщение было отмечено Салага2015 как решение

Решение

Примерно потому же, почему ты не можешь написать:
a = return;
Ну и искал ты действительно неважно, в гугле много интересующихся схожими вопросами, например тут. Ну и это не совсем "сокращённая запись if", если на то пошло.
1
Don't worry, be happy
16917 / 9794 / 1886
Регистрация: 27.09.2012
Сообщений: 24,279
Записей в блоге: 2
30.03.2019, 05:45 5
Lolobotik, я бы сказал, что это вообще не сокращенная запись if ))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2019, 05:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Почему нельзя в конструкторе использовать параметр по умолчанию, если конструктор не встроен?
То есть честно говоря, вопрос так надо ставить: почему если конструктор встроенный, то можно...

Почему нельзя использовать имя целочисленной переменной в качестве имени целочисленного массива?
помогите разобраться #include <iostream> using namespace std; int main () { int *array;...

Почему нельзя использовать в операторе case переменные, которые определены как #define
Я не понимаю, почему Visual Studio ругается на строку с case в коде. Вроде все правильно. Если там...

Почему в выражении нельзя использовать запятую вместо &&
Привет всем, у меня такой вопрос: Почему в выражении for (i=0; i < *k &&...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.