gpt4 book ai didi

objective-c - 在 objective-c 中初始化和写入数组

转载 作者:搜寻专家 更新时间:2023-10-30 20:04:03 27 4
gpt4 key购买 nike

在我的 h 文件中,我声明了一个稍后应该是数组的 var:

@interface myClass : CCNode {
CGPoint *mVertices;
}

@end

在我的初始化方法中:

mVertices = malloc(size * size * sizeof(CGPoint));

mVertices[0][0] = ccp(0,0);

在最后一行我得到一个错误Subscripted value is neither array nor pointer。为什么会出现此错误以及如何解决该问题?

最佳答案

mVertices 是一个指针,但您将其视为不允许的二维数组(尽管您可以将其视为一维数组)。

在 (Objective)-C 中创建一个动态多维数组很棘手,因为编译器需要知道除第一个维度之外的所有维度的大小,以实际编译元素在内存中的位置位于。

但是你可以自己计算:

mVertices[(row * size) + column] = ccp(row, column);

您可能想为此定义一个宏:

#define VERTICE_ACCESS(row,colum) mVertices[(row * size) + column]

关于objective-c - 在 objective-c 中初始化和写入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6241765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com