Тернарный оператор с индексом ++ дает «Только оператор присваивания, вызова, приращения, декремента, ожидания и новых выражений объекта может использоваться» - PullRequest
0 голосов
/ 08 июля 2019

Я не получаю этот текст подсказки и причину, по которой код не компилируется:

int index = 0;
bool result = false;

result ? index++ : index--;

Это увеличение / уменьшение, не так ли?

Почему выдается ошибка компиляции: «В качестве оператора могут использоваться только выражения присваивания, вызова, приращения, уменьшения, ожидания и новых объектов»?

1 Ответ

5 голосов
/ 08 июля 2019

Тернарный оператор сам по себе не является оператором. Неважно, что внутри, а о том, что это такое. Это было бы утверждение:

index += result ? 1 : -1;
...