HOWTO · C++
C++ での NULL 宣言されていないエラー
この記事は、C++ の NULL 宣言されていないエラーとその解決策について説明しています。
このページの内容
この記事では、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;
}