Dal momento che ci sono state così tante domande operatore di precedenza poco tempo fa, ho iniziato a giocare con un po 'di codice e arrivato fino a questo:problema Precedenza degli operatori porta a "Errore: tipo imprevisto"
int x = someNumber;
int y = --x++;
Questo dà:
Error: unexpected type
required: variable
found: value
Ho provato questo perché ero interessato a sapere come java avrebbe a che fare con il fatto che postfix
ha una precedenza di operatore superiore a prefix
. Questo sembra che l'affermazione precedente porterebbe ad una contraddizione, che immagino sia gestita da questo errore.
La mia domanda è duplice:
- Perché questo errore? Cosa significa esattamente?
- Perché lo
postfix
ha una precedenza superiore aprefix
? Sono sicuro che c'è una buona ragione, ma non sono stato in grado di inventarne uno. Forse risolverebbe questo comportamento non definito , ma in qualche modo causerebbe più problemi?
+1, buona risposta. :) – PermGenError
Ottima risposta. Grazie. Non ho mai pensato a questa possibilità. Ha senso. –