问题标签 [invalid-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 投票
2 回答
73 浏览

c - 为什么这个 C 代码给我一个分段错误?

使用 CS50 库,这是我的代码,但它一直给我一个分段错误。我试图弄清楚它在哪里一直在做分段错误,并且由于某种原因它与我的功能有关。为什么它一直这样做?

我真的需要一些帮助,我不知道为什么它总是出错。

0 投票
1 回答
449 浏览

c - 使用 strchr 时如何解决 'munmap_chunk(): invalid pointer Aborted'

我正在使用 strchr 用 C 语言编写一个函数。基本上,给定参数中的字符串,代码将识别 (char content[]) 中存在的任何 '\n' 并使用 strncpy 将 '\n' 之前的字符串复制到 str。使用 strchr 复制 '\n' 之后的字符串。程序的输出看起来不错,但问题是我在程序末尾有一条消息显示: munmap_chunk(): invalid pointer Aborted

0 投票
1 回答
208 浏览

c++ - 更改指针时 C++ 指针中断

当我更改联合中的指针时,我的其他指针会中断并显示无效指针。

CustomDataType 示例类:

ConfigCustomDataType 示例类:

主要的:

输出:

到底发生了什么?如果我不将 example.x 更改为指向其他内容,它会正常工作,否则如果我更改它,它将破坏其他指针。

0 投票
2 回答
118 浏览

c - C: Realloc 无效指针?

这是我在学校的任务:编写一个函数 insertString ,将字符串 s2 插入到 s1 的索引 n.s1 已使用 malloc 分配并应调整大小(该函数再次为 void)。

该程序在 PC 上给了我一个 NULL,当我切换到手机时,编译器说我的 realloc 指针无效。但我真的不知道我做错了什么。

这是代码:

这里的输出:

请问如果你知道我做错了什么,你能告诉我正确的版本吗?即便如此,我也有一个问题,即我不能仅仅通过阅读文本来正确地编写程序,我需要看看它应该如何编写。所以我需要看到正确的结果才能从错误中吸取教训^^”(这就是为什么学校里的一些东西对我来说真的很难)。提前谢谢^^

0 投票
4 回答
105 浏览

c++ - 调用删除后指针无效

我在一个名为的文件中有这个简单的代码virtual.cpp

它编译正确

但是当我运行它时,我得到了这个错误:

我认为这是因为我删除了指针 parent1,所以这会擦除指针指向的内存,即&child1. 因此,当 child1 超出范围时, Child 析构函数尝试释放不再存在的内存。

我的问题:

  1. 我的推理正确吗?
  2. 如果我的推理是正确的,那么处理这种“超出范围”情况的正确方法是什么?
0 投票
0 回答
71 浏览

c++ - 退出函数时,std::string 释放似乎失败

我对编程很陌生,似乎其中一个函数一旦运行在这行代码上就会给我这个错误:

在我返回 *this 之后,它会释放函数内部的所有 std::vector,以及与我使用的一些命名结构相关的那些。'name' 变量本身存储在另一个 std::vector 中,它是该类的成员。

这是否意味着字符串被写入一次,并且所有看起来应该都指向同一个引用的东西?或者也许是别的东西,但是在这一行上逐行运行调试器显然失败了。任何帮助,将不胜感激 !

注意 - 我已经删除了所有以前的代码,以显示一个更简单的例子来说明我遇到的麻烦:

因此,如果您运行此代码块一次,然后在第二次运行它之前删除关于输出的前三行,您就会遇到我所面临的错误。

0 投票
0 回答
160 浏览

python - Pybind11:在 C++ 对象中存储指向 numpy 数组数据的指针

我有一个 c++ 类

  • 将两个指向两个 numpy 数组的数据的指针存储为成员 ( m_ptrA, m_ptrB)
  • 公开一个函数来初始化指针 ( initPtrs)
  • doSomethingWithPtrs公开一个对指针 ( )进行操作的函数

我尝试使用 pybind11 将类及其函数绑定到 python:

但是,在调用do_something_with_ptrsafter时init_ptrs,由于指针m_ptrB无效,以下程序有时会崩溃:

aryA 是一个 int32 类型的 numpy 数组。 pyTensorB是 torch.float32 类型的 pytorch 张量。

我对 python/pybind 很陌生。任何帮助,将不胜感激。特别是,我不确定我py::keep_alive是否正确理解了这些陈述。

0 投票
1 回答
37 浏览

c - realloc 表示无效指针,除非无关的 for 循环被注释掉

好的,我很困惑,迫切需要帮助。我正在处理一个动态分配字符串数组的任务,并且我一直在使用 realloc 时遇到问题。我终于让它看起来可以工作了,我只需要编写 for 循环来正确显示结果。

除此之外,代码将停止工作。它会让我输入字符串,与我之前用来测试它的字符串完全相同,程序会崩溃,说 realloc 遇到了无效指针的问题。每当我再次评论 for 循环时,一切似乎都运行良好。

这可能是愚蠢的事情,或者是我对 realloc 不了解的事情的结果,但是我的时间不多了,各种搜索都没有返回任何我认为适用的答案,所以我想我会在这里问。

我用来测试它的输入是“你好,我的一个真正的朋友”。

这是我的代码(是的,我知道,这是一团糟,抱歉。通常我对这些事情要好一些,但我一直很着急):