g ++에 C ++에서 반복기 값을 인쇄하기 위해 -fpermissive 플래그가 필요한 이유는 무엇입니까?

ArMD

다음 C ++ 코드의 경우 :

 cout<<"First symbol is : "<<*it<<std::endl;

다음과 같은 오류가 발생합니다.

Transformtheexpression.cpp:50:42: error: name lookup of 'it' changed for ISO 'for' scoping [-fpermissive]

         cout<<"First symbol is : "<<*it<<std::endl;
                                      ^ Transformtheexpression.cpp:50:42: note: (if you use '-fpermissive' G++ will accept your code)

다음을 실행하여 코드를 컴파일하면

g ++ -fpermissive

그런 다음 코드가 컴파일됩니다. 이 행동을 설명하십시오.

이한이

for 루프에 오류가있을 수 있습니다.

"it"의 범위를 끝내는 세미콜론으로 for 루프를 종료했을 것입니다.

for 루프에 로컬 변수입니다. 루프 외부에서 사용하려고합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관