1

三項演算子の使用に問題があります。

...
char symbol = str_base[i];
int count = 1;
...

(count == 1) ? str_rle += symbol : str_rle += count.ToString() + symbol;

このようなエラーを取得する: 代入、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式のみをステートメントとして使用できます

なんで?三項演算子は本当に関数の呼び出し、 ++ & -- のみですか?

ありがとうございました!

4

1 に答える 1

4

行の左側は、割り当てではなく比較です (ここで何をしようとしているのかわかりません)。この種の条件付き実行に三項演算子を使用できればいいのですが、残念ながら使用できません。ただし、この場合、式の反対側で三項演算子を使用できます。

str_rle += (count == 1) ? symbol : count.ToString() + symbol;
于 2013-01-06T19:16:19.577 に答える