Share via


Upozornění kompilátoru (úroveň 1) C4258

"proměnná" : definice smyčky for je ignorována; definice z nadřazeného oboru se používá"

V části /Ze a /Zc:forScope se proměnné definované ve smyčce for po ukončení smyčky vyjdou mimo rozsah for . K tomuto upozornění dochází v případě, že se proměnná se stejným názvem jako proměnná smyčky, ale definovaná v uzavřené smyčce, použije se znovu v oboru obsahujícím smyčku for . Příklad:

// 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
   }
}