Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Проблема с тернарным оператором ?:

#cpp


Почему такой код:

bool foo() const
{
    _variable ? return true : return false;
}


Выдает ошибку компиляции:


  error C2059: syntax error: 'return'


Компилятор Visual Studio 2015.
    


Ответы

Ответ 1



Тернарная операция содержит условие и значения удовлетворяющее условию и неудовлетворяющее. return завершает выполнение функции и возвращает элемент управления в вызывающую функцию Выполнение возобновляется в вызывающей функции в точке сразу после вызова, т.е. это действие, а не значение... Возвращать это, если..., ну а если нет, то другое, а не: если это, то возвращать...

Ответ 2



return должен быт перед _variable ? bool foo() const { return _variable; }

Комментариев нет:

Отправить комментарий