问题标签 [null-pointer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
653 浏览

c++ - 运行时错误:16bit ms dos 系统上的空指针分配和程序异常终止

0 投票
1 回答
80 浏览

c++ - 无法在 Cpp 函数中返回空指针

我无法在此方法结束时返回 nullptr?我需要导入某种库吗?

0 投票
3 回答
5419 浏览

c - 在 sizeof 操作中取消引用空指针是否有效

我遇到了一段代码,对我来说应该会因分段错误而崩溃,但它可以顺利运行。有问题的代码加上相关的数据结构如下(上面有相关的注释):

为什么这行得通?我收集到char *的大小将解析为给定架构上指针的大小,但它不应该在取消引用 -pointer 时崩溃和烧毁NULL

0 投票
1 回答
64 浏览

java - NullPointerException in a list based implementation of a simple message board

I'm trying to create a list structure for a simple message board usinsg lists of topics, which are themselves lists of messages, with my own implementation of binodes. However I'm getting a null pointer exception when I'm trying to add a post to my topic.

My code is as follows: TestHarness.main

Thanks for helping.

0 投票
1 回答
75 浏览

c - 设置一个指针,保持 NULL

我正在尝试实现一个链表,但遇到了一个非常顽固和令人沮丧的问题。这是相关的代码。

现在的问题是它正在打印

“最后一个为空”

经常但不打印出来

“当前为空”

一次。如果 current 不为空并且我设置 last = current 那么为什么 last 保持为空?

感谢您的任何见解

0 投票
4 回答
157 浏览

c++ - 如何创建一个指针数组并使用 **P 将其指向 NULL?

如何使用 **P 创建一个指针数组并将其指向 NULL?

假设我编码如下。

现在我想将其中一些设为 NULL

如果我只是像上面那样编码,那么它会给我一个警告,而且上面的方法在如何使变量为 NULL 方面也是错误的。那么我该怎么做呢?

0 投票
4 回答
1667 浏览

java - Hashmap 中的 NullPointerException 错误

我在这部分代码上花费了无数个小时,这给了我一个空指针异常。我不明白它为什么会发生或如何阻止它。我已经尝试过之前在 stackoverflow 上发布的所有方法。这是读取数据文件并将每一行放入哈希图中的函数。

然后我用这个在 main 中运行它:

callnumber“QA76.73.J38S265”作者“Walter Savitch,Ken​​rich Mock”标题“Absolute Java”出版商“Addison-Wesley”年份“2009”callnumber“P98.C6116”标题“计算语言学”线程“main”java 中的异常。 lang.NullPointerException 组织“计算语言学协会”在 librarysearch.FileIO.readDataFromFile(FileIO.java:160) 年“2008”在 librarysearch.FileIO.main(FileIO.java:405) Java 结果:1 构建成功(总时间: 1秒)

我在发生错误的代码中写了。为什么会这样?我不明白,如果任何人都可以请帮助,将不胜感激。

0 投票
1 回答
5280 浏览

c++ - 对象引用未设置为对象的实例 (C++/CLI)

在下面的代码中,我收到此错误:对象引用未设置为对象的实例

它在另一个类中被调用:

在“int tmp = this -> temp;”行中运行时 这是一个未定义的值!

为什么呢?怎么了?

0 投票
2 回答
10803 浏览

c - (int *)0 是空指针吗?

这可以被认为是这个问题的扩展(我只对 C 感兴趣,但添加 C++ 来完成扩展)

6.3.2.3.3 的 C11 标准说:

值为 0 的整数常量表达式,或转换为 type 的此类表达式void *称为空指针常量。

我个人对此的看法是,它0表示(void *)0空指针,其整数值实际上可能不是 0,但这不包括将 0 强制转换为任何其他类型。

但是,标准继续:

如果将空指针常量转换为指针类型,则生成的指针,称为空指针,...

它涵盖(int *)0为空指针,因为 cast 是在转换方法下列出的显式转换(C11,6.3)。

但是,仍然让我想知道的是以下短语

...或这样的表达式转换为类型void *...

有了上述语义,这句话​​似乎完全没用。问题是,这句话完全没用吗?如果不是,它有什么影响?因此,是否(int *)0是空指针?


另一个可以帮助讨论的问题如下。被(long long)123认为是“123 转换为long long”,或“123 带有类型long long”。换句话说,是否有任何转换(long long)123?如果没有,则上面的第二个引号包含(int *)0空指针。

0 投票
3 回答
270 浏览

java - 如何正确地为对象赋值,它们的赋值会引发异常

在 java 中,可能很容易需要做一些事情,例如实例化一个 BufferedWriter 对象。这可以通过以下方式完成:

请注意 w 在 try-catch 块之前声明。这样做是为了在 try-catch 之后使用变量在适当的范围内。它使用空指针初始化,否则像 netbeans 这样的 IDE 会警告该变量可能尚未分配。但是,IDE 仍然抱怨当您到达 w.write() 时,w 可能有一个空值。这很有意义,因为 try 块可能会失败!

有没有一种更优雅、更明智的方法来做到这一点,并且不会导致像我的 IDE 上面提醒我的那样的逻辑问题?

我意识到我可以将 w 所做的一切都包装在 try 块中,但这对我的任务来说是不可行的。如果还有其他选择,我还能如何初始化 w?

谢谢!