реклама на сайте
подробности

 
 
> Тернарный оператор в левой части выражения, ? : =
ViKo
сообщение Feb 10 2014, 13:40
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Читаю:
Код
  int32_t step_temp = Chan ? Step2 : Step1;

Обрабатываю...
Хочу записать обратно:
Код
(Chan ? Step2 : Step1) = step_temp;

Получаю:
error: #137: expression must be a modifiable lvalue
Как обойти?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_pv
сообщение Feb 10 2014, 15:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



*(Chan ? &Step1 : &Step2) = tmp;
только подозреваю в скомпилированном виде может выглядеть не очень красиво, по сравнению if (Chan) Step1 = tmp; else Step2 = tmp;
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 00:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016