将head设置为NULL('NULL':未声明的标识符)

时间:2013-03-21 14:09:49

标签: c++ pointers null

我在C ++中定义了一个链表。我试图为变量头设置一个NULL值(在Movie_LinkedList的构造函数中),但我得到了:

movie.h(40):错误C2065:'NULL':未声明的标识符

请注意 除了iostream

之外我不能包含任何库

任何帮助表示赞赏!

5 个答案:

答案 0 :(得分:15)

如上所述,您的程序中未定义NULL。通常,这是在标准头文件中定义的 - 特别是<cstddef><stddef.h>。由于您被限制为iostream,如果您的帖子未从该标头中隐式获取NULL,则可以使用0或在C ++ 11中使用nullptr,这是一个关键字,不需要标题。 (不建议您自己定义NULL。它有时可能有效,但在技术上是非法的。)

答案 1 :(得分:8)

您应该包含<stddef.h><cstddef>

但是,您也可以使用0nullptr

答案 2 :(得分:2)

不需要图书馆!

位于头文件的顶部,

这样做:

#ifndef NULL
#define NULL (0)
#endif

答案 3 :(得分:1)

使用以下内容包括:

#include <stddef.h>

答案 4 :(得分:1)

NULL实际上并不是核心C或C ++语言的一部分;它在stddef.h中被定义为0

由于您使用的是C ++,因此首选nullptr,这是一个关键字,然后输入。 (假设它可用。它是C ++ 11的一部分,所以从技术上讲并非所有编译器都支持它;实际上,你很难找到一个没有的编译器)