Partager via


Avertissement du compilateur (niveau 1) C4258

'variable' : la définition de la boucle for est ignorée ; la définition de l’étendue englobante est utilisée »

Sous /Ze et /Zc :forScope, les variables définies dans une boucle for sortent de l’étendue une fois la for boucle terminée. Cet avertissement se produit si une variable portant le même nom que la variable de boucle, mais définie dans la boucle englobante, est utilisée à nouveau dans l’étendue contenant la for boucle. Par exemple :

// C4258.cpp
// compile with: /Zc:forScope /W1
int main()
{
   int i;
   {
      for (int i =0; i < 1; i++)
         ;
      i = 20;   // C4258 i (in for loop) has gone out of scope
   }
}