1628Fermer1630
LinkLe 28/05/2010 à 11:13
Link (./1624) :
^^Évidemment, un cast sur un opérateur unaire, ça me paraît bizarre.
Et pourquoi ?

À la réflexion, c'est parce que pour moi le résultat d'un cast est une rvalue.
En ajoutant des parenthèses pour clarifier, on a alors deux cas:
* (unsigned char)(n++) qui n'a aucun effet sur l'opérateur lui-même, seulement la valeur retournée (normal)
* ((unsigned char)n)++ qui selon moi ne devrait pas compiler.

Note: Par contre, "opérateur unaire" n'était pas forcément le bon terme, vu que je parlais ici uniquement des pre/post inc/decrémentation. Naturellement, un '-' unaire ou une '*' n'ont pas ce problème.