c++ - 用于保存对象的二维数组的变量

标签 c++

我在 ClassA 中创建了一个 myOwnClass 的二维数组

class classA
{
  public:
    myOwnClass* myArray[2][16];  
}

如何在另一个类 (ClassB) 中创建一个可以指向该数组的变量。

如果我定义了一个一维数组 myOwnClass* myArray[16] 我可以像这样定义一个变量来保存数组 myOwnClass** myArrayPointer,所以一维数组一切正常,但我无法让它与二维数组一起工作。我尝试将变量定义为 myOwnClass*** myArrayPointer,但这显然行不通。

最佳答案

but I can not get it to work with a two dimensional array. I tried to define the variable as myOwnClass*** myArrayPointer, but that does obviously not work.

数组和指针是不同的东西,只是在最外层,数组会衰减为指针。因此,在您的情况下,该变量的二级类型不是指针,它是一个包含 16 个元素的数组。

使用这个:

myOwnClass* (*my_another_var)[16] = some_instance.myArray;

关于c++ - 用于保存对象的二维数组的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48695210/

相关文章:

c++ - 在 OS X 上使用 imshow 时出错

c++ - Glfw glDrawElements绘制三角形怪异

c++ - 是否有用于在 C++ 中编写 linux 命令行实用程序的标准模式?

c++ - 通过引用传递结构并分配字符串

c++ - 数组的大小可以在运行时确定吗?

c++ - 读取二进制格式的问题 [C++]

c++ - 如何输入每个单词都在字符串数组中的句子,直到用户按下回车键

c++ - nodejs 与运行 libevent 有何不同?

c++ - QCompleter 在 NetworkRequest 完成后无法正常工作

C++ 递归堆栈