C++ での NULL 宣言されていないエラー
Naila Saad Siddiqui
2024年2月15日
この記事では、C++ での NULL キーワードと NULL undeclared
のエラーについて説明します。
C+ の NULL
キーワード
NULL
は C++ の定数であり、ポインター変数を値 0 で初期化するために使用されます。NULL
または 0
を同じ意味で使用できます。
ポインターを宣言し、そのポインターに保存する正確なアドレスがない場合は、NULL
を割り当てることをお勧めします。 そのため、他の値を指していない限り、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;
}
iostream
にも NULL
が定義されているため、上記のコードはエラーなしで実行されます。
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++ では、nullptr
を NULL
キーワードの代わりに使用できます。
int main() {
int* p = nullptr;
return 0;
}