Names in inner scopes can hide names in outer scopes. : block scope variable « Language Basics « C++ Tutorial






#include <iostream>
#include <ostream>

int main()
{
  for (int i = 0; i < 10; ++i)
  {
    int x = 2;
    if (x < i)
    {
      double x = 3.4;
      std::cout << x; 
    }
    std::cout << x;   
  }
  //std::cout << x;     // Error: no x declared in this scope
}
2223.423.423.423.423.423.423.42








1.6.block scope variable
1.6.1.Variable block scope
1.6.2.Variables can be local to a block
1.6.3.Inner block variable scope
1.6.4.Names in inner scopes can hide names in outer scopes.
1.6.5.Using the scope resolution operator: '::'
1.6.6.global and block scope
1.6.7.scope code block
1.6.8.global variables across functions
1.6.9.Using the scope resolution operator (2)