1.2.4.2 지역 정의
지역 변수는 함수 안에서 선언한다. 지역 변수의 가시성/가용성은 함수 선언부의 { }로 둘러싸인 블록으로 제한한다.
만약 main 함수에서 π를 정의하면,
int main () { const double pi = 3.14159265358979323846264338327950288419716939; std::cout << "pi is " << pi << ".\n"; }
변수 π는 main 함수에서만 존재한다. 우리는 함수나 블록 안에 또 다른 블록을 정의할 수 있다.
int main () { { const double pi = 3.14159265358979323846264338327950288419716939; } std::cout << "pi is " << pi << ".\n"; // 오류: pi는 범위 밖에 있다. }
이 예제에서 π의 정의는 함수 안에 있는 블록으로 제한한다. 따라서 함수의 나머지 부분에서 π를 출력하려고 하면 오류가 발생할 것이다.
>>pi<< is not defined in this scope.
왜냐하면 범위 밖에 있기(Out of Scope) 때문이다.