问题标签 [double-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 回答
734 浏览

c++ - 指针数组的动态初始化

在上面的代码中,我在构造函数的第二行(b = new int*[10])得到一个编译错误。int**' to它说错误: int * [0u]'分配中的类型不兼容

为什么会这样?

0 投票
2 回答
283 浏览

c - 双指针内的值未正确更新 (C)

我有一个读取输入文件的函数,应该修改 char** 和 int* 的内容。功能如下:

我在主程序中定义了如下输入和文件:

我调用函数如下:

输入文件包含 3 行,如下所示:

我注意到在 while 循环期间,“当前”值被正确读取,但存储在所有输入 [*] 中,导致:

如果有人知道这里出了什么问题,我将不胜感激。

0 投票
2 回答
12294 浏览

c - 如何获取双指针指向的二维数组的大小?

我试图从指向数组的双指针中获取二维数组的行数和列数。

上面的函数需要打印尺寸的详细信息,哪里出错了。

我正在使用 malloc 创建数组。


如果我使用这样的东西怎么办

列 = sizeof(a)/sizeof(int) ?

0 投票
2 回答
2158 浏览

c - 向C中的结构分配双指针内存

找不到此代码有什么问题,它在输入正好 4 个值时按预期工作,但在第五次调用时(甚至在它要求 scanf 之前)它总是给我这个错误: * glibc detected./a2: 双重释放或损坏 (fasttop): 0x0916e018 * *

这是我的程序的一些代码:

我知道我不必制作 dSizePtr,我可以传入 &dSize,但是我的程序当前设置的方式(这不完全相同,只是为了可读性而压缩),这就是我必须通过的方式它。

老实说,我不知道为什么会出现这个错误。一直在查看我的代码几个小时并在线阅读并没有找到解决方案。任何帮助将不胜感激!

0 投票
2 回答
27853 浏览

c++ - unsigned char ** 到 opencv mat

我快到了,但我不太明白如何转换

我知道 cv::Mat 的 .data 部分是 uchar*

我正在使用一个以...的形式返回和图像的函数

但我的其余代码使用 cv::Mat's。我也没有我正在使用的库的源代码,所以我真的不知道它在做什么。

编辑 感谢您的帮助,我已经做到了...

但图像是黑色的,所以我现在需要找出那里是否真的有任何东西。

抱歉缺乏研究,我的截止日期很紧,不,这不是家庭作业,试图准备一些东西来向教授展示结果!

0 投票
1 回答
721 浏览

c++ - WIA 2.0 - IWiaDevMgr2::GetImgDlg() - 如何声明/初始化 ppbstrFilePaths 参数

我正在尝试在我的 VS2012 C++ 库中实现一些 WIA 2.0 代码,并且遇到了IWiaDevMgr2::GetImageDlg调用的问题,特别是 ppbstrFilePaths 参数。我不太确定如何声明/初始化它。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa359932(v=vs.85).aspx的文档中:

ppbstrFilePaths [in] 类型 - BSTR**

指向已扫描文件的路径数组的指针的地址。在调用 IWiaDevMgr2::GetImageDlg 之前,将指针初始化为指向大小为零 (0) 的数组。见备注。

我已经尝试了各种不同的声明方式,但都没有成功,例如:

我也尝试过类似的事情:

谁能指出我声明和初始化此 BSTR ** 的正确方向?我不是一个大的 C++ 开发人员,在这一点上几乎是在猜测。

0 投票
1 回答
1794 浏览

c++ - c ++ valgrind双指针删除用于防止内存泄漏

读后: C++指针数组:delete还是delete[]? (由 shai vashid 回复)和 http://www.cplusplus.com/forum/beginner/6651/

我实现了以下内容:

内核.h

内核.cpp

我不确定我做错了什么。

请问有什么建议吗?

谢谢你。

0 投票
1 回答
110 浏览

c++ - 指针解引用问题

我有一个函数void MOVE_TO(Square **sendingSquare, Square **receivingSquare)Square一个类在哪里:

问题是,当MOVE_TO(...)返回时,两个方格都指向接收方格,而应该被移动的居住者已经完全消失了。想法/建议?我的代码几乎被卡住了,直到我能解决这个问题。如果我在提出任何建议之前弄清楚我的问题,我会回来回答我自己的问题。

0 投票
2 回答
670 浏览

c - 双指针:指向结构成员的指针,它是一个指针

我正在尝试编写一个程序来播放“Pangolin”(就像这个人一样- 它问是/否问题,沿着二叉树走直到它到达叶节点。然后它“猜测”,如果用户说答案是错误的,询问用户他们在想什么,并提出一个将其与错误猜测区分开来的问题。然后将新数据添加到树中)。

这是我的树节点结构。NodeType 对于包含问题的节点是 QUESTION_NODE,对于包含“对象”的节点是 OBJECT_NODE - 这是程序推断用户正在考虑的事情。问题节点具有指向子节点的指针 - 一个表示是,一个表示否。

由于这是一个学习练习,我试图用双指针来做。这是应该向树中添加问题节点的函数:

然后调用 addData函数

我的(可能是错误的)理解是这样的:

在“ask()”中,我向 addData 传递了一个指针,该指针指向“node”的成员“yes”(或 no)。该成员又是一个指针。当我在 addData 中分配给“*replace”时,这应该修改结构,将其“是”(或否)成员指针重定向到指向我创建的新问题节点。

我调试了一下,发现newQuestionNode和newObjectNode创建成功。newQuestionNode 的子节点已正确分配。但是,新的问题节点不会插入到树中。“*replace = newQuestionNodePtr”行没有我期望的效果,并且“询问”范围内的“节点”引用的节点没有重定向其子指针。

谁能看出我的理解有什么问题?或者也许是我没有在我的代码中正确表达它的一种方式?抱歉这个问题太长了。

0 投票
5 回答
58288 浏览

c - 使用双指针的二维数组实现

请考虑以下代码:

我的代码没有问题。它工作正常。

我有一个关于指针算术的问题:

*(ptr+0)= 指向 COMPLETE BLOCK(第一个数组)
*(ptr+1)的指针 = 指向 COMPLETE BLOCK(第二个数组)的指针。

但什么是:(*ptr+1)

GDB 输出:

我对此感到困惑。请给我一些解释来解决这个疑问。