>백엔드 개발 >C++ >내 코드에 '선언되지 않은 식별자' 오류가 나타나는 이유는 무엇입니까?

내 코드에 '선언되지 않은 식별자' 오류가 나타나는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-19 01:56:10141검색

Why Am I Getting

선언되지 않은 식별자 오류: 원인 및 해결 방법

선언되지 않은 식별자 오류는 컴파일러가 다음과 같은 변수, 함수 또는 유형에 대한 참조를 발견할 때 발생합니다. 현재 범위 내에서 선언되거나 정의되지 않았습니다. 이러한 오류는 일반적으로 다음 이유 중 하나로 인해 발생합니다.

헤더 파일 포함 누락

선언되지 않은 식별자 오류의 가장 일반적인 원인은 필요한 헤더 파일의 누락입니다. 식별자 선언이 포함되어 있습니다. 예를 들어 C에서 다음 예는 'cout' 함수에 대해 '선언되지 않은 식별자' 오류를 생성합니다.

int main() {
    cout << "Hello world!" << endl;
    return 0;
}

이 문제를 해결하려면 헤더 파일:

#include 
int main() {
    cout << "Hello world!" << endl;
    return 0;
}

철자가 틀린 변수 또는 함수

이러한 오류의 또 다른 일반적인 원인은 철자가 틀린 식별자입니다. 예를 들어 다음 코드는 두 번째 줄의 철자가 틀린 변수 'AComplicatedName'으로 인해 오류를 생성합니다.

int main() {
    int aComplicatedName;
    AComplicatedName = 1;  /* mind the uppercase A */
    return 0;
}

잘못된 범위

식별자를 선언해야 합니다. 참조되는 동일한 범위 내에서. 예를 들어, 이 예에서는 's1'과 's2'를 모두 선언하는 데 'std::string'을 사용해야 합니다.

#include <string>

int main() {
    std::string s1 = "Hello"; // Correct.
    string s2 = "world"; // WRONG - would give error.
}

선언 전 사용

C와 같은 일부 프로그래밍 언어에서는 식별자를 사용하기 전에 선언해야 합니다. 함수나 변수가 선언되기 전에 참조되면 컴파일러는 '선언되지 않은 식별자' 오류를 생성합니다. 예:

void f() { g(); }
void g() { }

이 오류를 수정하려면 'f' 앞으로 'g' 정의를 이동하세요.

void g() { }
void f() { g(); }

또는 'f 앞에 'g' 선언을 추가하세요. ':

void g(); // declaration
void f() { g(); }
void g() { } // definition

stdafx.h가 맨 위에 없음(시각적 Studio 특정)

Visual Studio에서 다른 헤더 파일을 올바르게 처리하려면 "#include "stdafx.h"" 줄이 코드의 첫 번째 줄이어야 합니다. 이 줄을 생략하거나 맨 위에 배치하지 않으면 컴파일러는 후속 선언을 무시하여 '선언되지 않은 식별자' 오류가 발생할 수 있습니다. 예:

#include <iostream>
#include "stdafx.h"

이 예에서 "#include " 무시되고 코드가 컴파일되지 않습니다. 이 문제를 해결하려면 "#include "stdafx.h""를 파일 상단으로 이동하세요.

#include "stdafx.h"
#include <iostream>

위 내용은 내 코드에 '선언되지 않은 식별자' 오류가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.