我在 C++ 中定义了一个链表。我正在尝试为变量 head 设置一个 NULL 值(在 的构造函数中Movie_LinkedList
),但我得到了:
movie.h(40):错误 C2065:'NULL':未声明的标识符
请注意,我不能包含任何库,除了iostream
任何帮助表示赞赏!
如所写,NULL
未在您的程序中定义。通常,这是在标准头文件中定义的——特别是<cstddef>
或<stddef.h>
. 由于您被限制为iostream
,如果您没有NULL
从该标题中隐式获取,您可以使用0
or 在 C++11 中nullptr
,这是一个关键字,不需要标题。(不建议NULL
自己定义。有时可能会起作用,但在技术上是非法的。)
您应该包括<stddef.h>
or <cstddef>
。
但是,您可以使用0
或nullptr
也可以使用。
使用以下包括:
#include <stddef.h>
不需要图书馆!
在头文件的顶部,
做这个:
#ifndef NULL
#define NULL (0)
#endif
NULL
实际上不是核心 C 或 C++ 语言的一部分;在 stddef.h 中定义为 0
由于您使用的是 C++,prefernullptr
是一个关键字,并且已键入。(假设它可用。它是 C++11 的一部分,所以从技术上讲,并非所有编译器都支持它;实际上,你很难找到不支持它的编译器)