C++에서 NULL 선언되지 않은 오류
Naila Saad Siddiqui
2024년2월15일
이 기사에서는 C++에서 NULL 키워드와 NULL undeclared
오류에 대해 설명합니다.
C+의 NULL
키워드
NULL
은 C++에서 상수이며 값이 0인 포인터 변수를 초기화하는 데 사용됩니다. NULL
또는 0
을 서로 바꿔서 사용할 수 있습니다.
포인터를 선언하고 해당 포인터에 저장할 정확한 주소가 없을 때 NULL
을 할당하는 것이 좋습니다. 따라서 다른 값을 가리키지 않는 한 널 포인터라고 합니다.
통사론:
DataType *PointerName = NULL;
다음과 같이 NULL
키워드를 사용할 때 오류가 발생하는 경우가 있습니다.
int main() {
int* p = NULL;
return 0;
}
출력:
이제 이 오류를 해결하는 방법에 대해 설명하겠습니다.
관련 미리 정의된 헤더 포함
NULL
키워드는 iostream
, stdio
또는 cstddef
와 같은 다른 헤더 파일에서 상수로 선언됩니다. 이 오류를 해결하기 위해 다음 중 하나를 포함할 수 있습니다.
#include <iostream>
int main() {
int* p = NULL;
return 0;
}
NULL
도 iostream
에 정의되어 있으므로 위 코드는 오류 없이 실행됩니다.
NULL
을 상수로 정의
코드에서 NULL
이라는 상수를 정의할 수 있습니다.
#define NULL 0
int main() {
int* p = NULL;
return 0;
}
NULL
대신 0
사용
NULL
대신 0
을 사용하십시오. 둘 다 같은 의미입니다.
int main() {
int* p = NULL;
return 0;
}
NULL
대신 nullptr
사용
C++ 11과 같은 최신 버전의 C++에서는 NULL
키워드 대신 nullptr
을 사용할 수 있습니다.
int main() {
int* p = nullptr;
return 0;
}