2012-08-07 4 views
1
#include <iostream> 

using namespace std; 
int b=10; 
//b=100; 
int main(int argc, char *argv[]) 
{ 
    cout<<b<<endl; 
    return 0; 
} 

b = 100에서 의견을 제거하는 중 오류가 있습니다. 그렇지 않은 이유는 출력이 10입니다. 오류 : C++에서는 모든 선언에 형식 지정자가 필요합니다.유형 지정자 오류

+1

함수 외부에서 배정을 수행 할 수는 없지만 초기화 할 수는 있습니다. – hmjd

답변

2

전역 범위에는 임의의 명령문이 아닌 선언과 정의 만 포함될 수 있습니다.

C++은 b이라는 다른 변수를 선언하고 정의하려고한다고 생각합니다.

1

표현식 (예 : b=100;)은 함수 내에 있어야합니다.

함수 밖에서는 변수를 선언하고 초기화 할 수 있지만 임의 코드를 직접 실행할 수는 없습니다.

컴파일러에서 코드를 형식 지정자가없는 선언 (예 : 이 누락 된 int b=100;이 누락 됨)으로 해석하기 때문에 특정 오류가 발생합니다. 그런 일이 예상되지 않는 표현식 문구가 아닙니다. 이러한 선언은 C에서 허용됩니다 (이 경우에는 b이라는 변수가 이미 있으므로이 경우에는 실패하지만 C++에서는 실패합니다).

1

전역 범위에서 변수를 초기화 할 때를 제외하고는 할당 할 수 없습니다.

0

당신은 주요 내부

b = 100; 

을해야 할 것입니다. 함수 밖에서 이미 선언 된 변수는 변경할 수 없습니다.

0
int b=10; 
//b=100; 

== 일부 진입 점이있는 프로그램의 한 지점에서 수행 할 수 있습니다.

C++에서는 스트라이프 지정 문을 사용할 수 없습니다.

이 문장은 b = b + 1과 동일합니다.

0

함수 내에서 어떤 명령문이 발생해야합니다. 전역 변수는 외부 함수 본문을 정의하고 초기화 할 수 있습니다. 할당은 일부 기능 본문 내에 있어야합니다.