20

C++ で連結リストを定義しました。NULL 値を変数 head (のコンストラクター内) に設定しようとしていますMovie_LinkedListが、次のようになりました。

movie.h(40): エラー C2065: 'NULL': 宣言されていない識別子

以外のライブラリを含めることはできないことに注意してくださいiostream

どんな助けでも大歓迎です!

4

5 に答える 5

25

書かれているようNULLに、あなたのプログラムでは定義されていません。通常、これは標準ヘッダー ファイルで定義されます。具体的には<cstddef>、または<stddef.h>. に制限されているため、そのヘッダーから暗黙的iostreamに取得しない場合は、C++ 11 で orを使用できます。これはキーワードであり、ヘッダーを必要としません。(自分で定義することはお勧めしません。うまくいく場合もありますが、技術的には違法です。)NULL0nullptrNULL

于 2013-03-21T14:11:05.277 に答える
8

<stddef.h>またはを含める必要があります<cstddef>

ただし、0またはnullptrも使用できます。

于 2013-03-21T14:11:15.423 に答える
3

次のインクルードを使用します。

#include <stddef.h>
于 2013-03-21T14:11:34.050 に答える
2

ライブラリは必要ありません!

ヘッダーファイルの先頭に、

これを行う:

#ifndef NULL
#define NULL (0)
#endif
于 2013-03-21T14:11:16.480 に答える
1

NULL実際にはコア C または C++ 言語の一部ではありません。stddef.h で 0 と定義されています

C++ を使用しているためnullptr、キーワードである prefer を入力します。(利用可能であると仮定します。これは C++11 の一部であるため、技術的にはすべてのコンパイラがサポートしているわけではありません。実際には、サポートしていないコンパイラを見つけるのは難しいでしょう)

于 2013-03-21T14:12:10.803 に答える