Comme tout le monde le sait, la norme C exige de déclarer les variables en haut du corps de la fonction. C++ permet de le déclarer n'importe où, juste avant qu'il ne soit utilisé. MSVC suit la norme lorsque vous travaillez avec des fichiers source .c et .cpp.MSVC vs GCC: déclaration de variable dans la fonction
GCC permet de déclarer des variables partout dans le corps de la fonction, même si le fichier source est .c
J'ai un grand nombre .c constituent des dossiers bien dans GCC et non en MSVC à cause de cela. Je ne peux pas les renommer tous en .cpp.
Existe-t-il un moyen simple de dire au compilateur MSVC de traiter les fichiers C comme C++?
Il faut remarquer que C (en particulier C99) ne soit pas un sous-ensemble de C++, donc cela pourrait ne pas fonctionner. –
Ce n'est pas en haut du corps de la fonction: c'est en haut du bloc (à l'intérieur du bloc). L'extrait suivant est valide C: 'int main (void) {int a; {int top_of_block; top_of_block = 42; } a = 42; return 0;} ' – pmg
Je ne veux pas décourager les questions honnêtes, mais vous semblez très peu familier avec les normes C (en particulier C89 et C99) pour commencer votre question avec" Comme tout le monde le sait ... " –