C++ での NULL 宣言されていないエラー

Naila Saad Siddiqui 2024年2月15日
  1. C+ の NULL キーワード
  2. 関連する定義済みヘッダーを含める
  3. NULL を定数として定義
  4. NULL の代わりに 0 を使用
  5. NULL の代わりに nullptr を使用する
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;
}

出力:

c++ null 宣言されていないエラー

それでは、このエラーを解決する方法について説明しましょう。

関連する定義済みヘッダーを含める

NULL キーワードは、iostreamstdio、または 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++ では、nullptrNULL キーワードの代わりに使用できます。

int main() {
  int* p = nullptr;
  return 0;
}

関連記事 - C++ Error