Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
#1

Тернарный оператор: возврат значения - C++

30.03.2014, 02:06. Просмотров 298. Ответов 3
Метки нет (Все метки)

Приветствую.
При компиляции ниже приведенного кода
C++ (Qt)
1
2
3
4
5
6
7
8
9
bool MyFunc()
{
    bool flag = false;
 
    // .... некоторые действия
    // ....
 
    (flag) ? return true : return false;
}
получаю ошибку: error C2059: синтаксическая ошибка: return
Почему такой формат условного выражения для возврата значения из функции считается ошибкой?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 02:06     Тернарный оператор: возврат значения
Посмотрите здесь:

C++ Засунуть в тернарный оператор
Тернарный оператор vs if/else C++
C++ Шахматы(заменить тернарный оператор) на if else
Стоит ли использовать тернарный оператор, если всегда есть альтернативы в С ? C++
C++ Альтернатива if (.) {.} (тернарный оператор)
C++ Тернарный оператор - найти ошибку в коде
Простая задачка про тернарный оператор C++
Тернарный оператор и множество ошибок в коде C++
C++ Является ли тернарный оператор оператором сравнения?
C++ Как работает тернарный оператор
Тернарный оператор и операторы безусловного перехода C++
C++ Тернарный оператор

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
30.03.2014, 02:09     Тернарный оператор: возврат значения #2
C++
1
 return (flag)? true : false;
а еще проще если флаг только true / false

C++
1
return flag;
MastAKK
 Аватар для MastAKK
145 / 136 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
30.03.2014, 02:09     Тернарный оператор: возврат значения #3
C++
1
return (flag ? true :  false);
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
30.03.2014, 02:29     Тернарный оператор: возврат значения #4
Цитата Сообщение от jonson Посмотреть сообщение
Почему такой формат условного выражения для возврата значения из функции считается ошибкой?
Потому что результатом тернарного оператора должно быть значение некоего типа, которое является в свою очередь результатом вычисления одного из выражений, написанных в операндах тернарного оператора. Т.е. в нем допускаются только операции, которые такое значение вычисляют. Языковая операция return обеспечивает возврат значения, но сама по себе не типизирована. По такому же принципу не получится написать, например for или while в качестве операндов тернарного оператора.
Yandex
Объявления
30.03.2014, 02:29     Тернарный оператор: возврат значения
Ответ Создать тему
Опции темы

Текущее время: 13:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru