我在C++中定义了一个链表。我试图将 NULL 值设置为变量 head (在
Movie_LinkedList
的构造函数中),但我得到:
movie.h(40):错误 C2065:'NULL':未声明的标识符
请注意除了
iostream
之外我不能包含任何库
任何帮助表示赞赏!
如所写,
NULL
未在您的程序中定义。通常,它是在标准头文件中定义的 - 特别是 <cstddef>
或 <stddef.h>
。由于您仅限于 iostream
,如果您没有从该标头隐式获取 NULL
,则可以使用 0
,或者在 C++11 中使用 nullptr
,这是一个关键字,不需要一个标头。 (不建议自己定义NULL
。有时可能有效,但技术上是非法的。)
您应该包括
<stddef.h>
或 <cstddef>
。
但是您也可以使用
0
或 nullptr
。
使用以下内容:
#include <stddef.h>
无需图书馆!
在头文件顶部,
这样做:
#ifndef NULL
#define NULL (0)
#endif
NULL
实际上并不是核心 C 或 C++ 语言的一部分;在 stddef.h 中它被定义为 0
由于您使用的是 C++,因此更喜欢
nullptr
,这是一个关键字,然后键入。 (假设它可用。它是 C++11 的一部分,因此从技术上讲,并非所有编译器都支持它;实际上,您很难找到不支持它的编译器)
我也遇到过这种情况。所以需要添加
<string.h>
标题。
#include<string.h>
typedef struct{
node *head;
node *current;
int size
}list;
void appendList(list *l, int n){
if(l->head == NULL){
}
}
int main(){
return 0;
}
我尝试创建一个
linkedlist
,并且遇到了这个。