C++ で連結リストを定義しました。NULL 値を変数 head (のコンストラクター内) に設定しようとしていますMovie_LinkedList
が、次のようになりました。
movie.h(40): エラー C2065: 'NULL': 宣言されていない識別子
以外のライブラリを含めることはできないことに注意してくださいiostream
どんな助けでも大歓迎です!
書かれているようNULL
に、あなたのプログラムでは定義されていません。通常、これは標準ヘッダー ファイルで定義されます。具体的には<cstddef>
、または<stddef.h>
. に制限されているため、そのヘッダーから暗黙的iostream
に取得しない場合は、C++ 11 で orを使用できます。これはキーワードであり、ヘッダーを必要としません。(自分で定義することはお勧めしません。うまくいく場合もありますが、技術的には違法です。)NULL
0
nullptr
NULL
<stddef.h>
またはを含める必要があります<cstddef>
。
ただし、0
またはnullptr
も使用できます。
次のインクルードを使用します。
#include <stddef.h>
ライブラリは必要ありません!
ヘッダーファイルの先頭に、
これを行う:
#ifndef NULL
#define NULL (0)
#endif
NULL
実際にはコア C または C++ 言語の一部ではありません。stddef.h で 0 と定義されています
C++ を使用しているためnullptr
、キーワードである prefer を入力します。(利用可能であると仮定します。これは C++11 の一部であるため、技術的にはすべてのコンパイラがサポートしているわけではありません。実際には、サポートしていないコンパイラを見つけるのは難しいでしょう)