선언되지 않은 식별자 오류: 원인 및 해결 방법
선언되지 않은 식별자 오류는 컴파일러가 다음과 같은 변수, 함수 또는 유형에 대한 참조를 발견할 때 발생합니다. 현재 범위 내에서 선언되거나 정의되지 않았습니다. 이러한 오류는 일반적으로 다음 이유 중 하나로 인해 발생합니다.
헤더 파일 포함 누락
선언되지 않은 식별자 오류의 가장 일반적인 원인은 필요한 헤더 파일의 누락입니다. 식별자 선언이 포함되어 있습니다. 예를 들어 C에서 다음 예는 'cout' 함수에 대해 '선언되지 않은 식별자' 오류를 생성합니다.
int main() { cout << "Hello world!" << endl; return 0; }
이 문제를 해결하려면 철자가 틀린 변수 또는 함수 이러한 오류의 또 다른 일반적인 원인은 철자가 틀린 식별자입니다. 예를 들어 다음 코드는 두 번째 줄의 철자가 틀린 변수 'AComplicatedName'으로 인해 오류를 생성합니다. 잘못된 범위 식별자를 선언해야 합니다. 참조되는 동일한 범위 내에서. 예를 들어, 이 예에서는 's1'과 's2'를 모두 선언하는 데 'std::string'을 사용해야 합니다. 선언 전 사용 C와 같은 일부 프로그래밍 언어에서는 식별자를 사용하기 전에 선언해야 합니다. 함수나 변수가 선언되기 전에 참조되면 컴파일러는 '선언되지 않은 식별자' 오류를 생성합니다. 예: 이 오류를 수정하려면 'f' 앞으로 'g' 정의를 이동하세요. 또는 'f 앞에 'g' 선언을 추가하세요. ': stdafx.h가 맨 위에 없음(시각적 Studio 특정) Visual Studio에서 다른 헤더 파일을 올바르게 처리하려면 "#include "stdafx.h"" 줄이 코드의 첫 번째 줄이어야 합니다. 이 줄을 생략하거나 맨 위에 배치하지 않으면 컴파일러는 후속 선언을 무시하여 '선언되지 않은 식별자' 오류가 발생할 수 있습니다. 예: 이 예에서 "#include 위 내용은 내 코드에 '선언되지 않은 식별자' 오류가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!#include
int main() {
int aComplicatedName;
AComplicatedName = 1; /* mind the uppercase A */
return 0;
}
#include <string>
int main() {
std::string s1 = "Hello"; // Correct.
string s2 = "world"; // WRONG - would give error.
}
void f() { g(); }
void g() { }
void g() { }
void f() { g(); }
void g(); // declaration
void f() { g(); }
void g() { } // definition
#include <iostream>
#include "stdafx.h"
#include "stdafx.h"
#include <iostream>