什么是未声明的错误:
当我们在程序中使用某些常量时,它们可能是内置常量,可以由用户根据要求创建。但是,当我们使用某些常量并且它们不是内置的,并且在这种情况下也不由用户定义时,我们会得到未声明的错误。
下面的代码显示了NULL未声明错误的示例:
using namespace std;
// Driver Code
int main()
{
// NULL declared
int* num = NULL;
return 0;
}
上面的代码将显示错误,显示为“ NULL undeclared Error” 。 NULL未声明错误的原因是“ NULL”不是内置常量。
为什么我们需要NULL?
当我们在程序中创建一些指针时,它们将用于存储地址。但是未初始化的指针变量非常危险,因此我们可以为它们分配NULL ,这意味着它们没有指向任何内存位置,因此我们的程序可以平稳安全地运行。
现在,如果NULL不是内置常量,我们如何克服NULL未声明的错误。
以下是一些用于删除NULL未声明错误的代码:
- 分配0:我们可以简单地分配0来指示它没有指向任何地址,而不是给num分配NULL ,因此最简单的解决方案是简单地分配0。
下面的代码显示了它的实现:using namespace std; // Driver Code int main() { int* num = 0; return 0; }
- 包含“ stddef.h”头文件:在stddef.h头文件中,已经定义了NULL,因此我们可以在程序中包含该头文件,并且程序将编译并执行而没有任何错误。
下面的代码显示了它的实现:#include
// Driver Code int main() { int* num = NULL; return 0; } - 包括iostream头文件:在C++中,如果我们要执行程序而没有NULL无法处理的错误,我们可以简单地将iostream包含在程序中,并使它发生而没有任何错误。
下面的代码显示了它的实现:#include
using namespace std; // Driver Code int main() { int* num = NULL; return 0; } - #define NULL 0:使用#define NULL 0行在我们的程序中,我们可以解决NULL未声明的错误。
下面的代码显示了它的实现:#define NULL 0 using namespace std; // Driver Code int main() { int* num = NULL; return 0; }
- 在较新的C++(C++ 11和更高版本)中:: nullptr是一个内置常量,因此我们可以使用它代替使用NULL。
#include
using namespace std; // Driver Code int main() { int* num = nullptr; return 0; } 想要从精选的最佳视频中学习并解决问题,请查看有关从基础到高级C++的C++基础课程以及有关语言和STL的C++ STL课程。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。