Eh bien, ce n'est pas vraiment une question ..Déclaration de variables à l'intérieur de l'interrupteur C/
Je viens de temps en temps découvert qu'il ya une façon intéressante de déclarer des variables locales à l'intérieur d'un bloc commutateur/boîtier. Au lieu d'utiliser des accolades dans chaque bloc de cas, vous pouvez écrire:
switch (action) {
int res;
int value;
case ACTION_OPEN:
res = open(...);
...
break;
case ...
}
Alors, je me demande ce que les compilateurs C/C++ en plus de soutien gcc cette construction? Cela ressemble à une erreur commune. Tous les commentaires sur cette construction sont les bienvenus!
+1, juste pour savoir si cela est légal C++ ou un accident du compilateur. Cela pourrait être utile si c'est autorisé. –
Un moyen plus simple est d'arrêter d'utiliser les compilateurs C qui sont périmés depuis 11+ ans. –
Encore, sauf pour la chute occasionnelle, je préfère toujours les accolades à l'intérieur de chaque bloc de cas pour une portée plus locale. C'est une question de goût. – stefaanv