J'ai le code suivant:
#include <stdio.h>
int main(int argc, char **argv) {
int i = 0;
(i+=10)+=10;
printf("i = %d\n", i);
return 0;
}
Si j'essaie de le compiler en tant que source C en utilisant gcc, j'obtiens une erreur:
error: lvalue required as left operand of assignment
Mais si je le compile en tant que source C ++ en utilisant g ++, je n'obtiens aucune erreur et lorsque j'exécute l'exécutable:
i = 20
Pourquoi ce comportement différent?