Троица должна рассматриваться как способ оценки чего-то, а не как способ применения обработки.
Таким образом, после ?
ожидаются некоторые выражения, но вы написали операторы: softcount+=1
и (softcount+=value)
впервый код.
Во втором коде все нормально, потому что вы указали два выражения: 1
и value
.
Кроме того, ты действительно находишь этот код короткой рукой?
(counter > 1) ? (softcount+=1) : (softcount+=value); // bad
Вы повторяете инкрементную часть.
То, что вы хотите в вашем случае, это просто:
if (counter > 1) { softcount+=1;} else {softcount+=value;)