gpt4 book ai didi

objective-c - 当我尝试在函数中返回此数组时,为什么会出现错误 "Array initializer must be an initializer list"?

转载 作者:太空狗 更新时间:2023-10-30 03:47:45 24 4
gpt4 key购买 nike

我来自 Java,我对 Objective C 很陌生。无论如何,我有这个静态方法,它被设计用来制作一个数组的副本 (如果有更好的方法来完成这个,请告诉我,但我问这个问题更多 - 所以找出为什么我得到这个错误以及如何在将来避免这样的错误。)我遇到了一些问题有了它,但就在我认为我已经把它们都整理好了的时候,我得到了这个看起来像 XCode 的错误

这是接口(interface)中的方法:

+ (float[]) copyArray: (float[]) array withLength: (int) length;

下面是实现中的方法:

+ (float[]) copyArray: (float[]) array withLength: (int) length
{
float copiedArray[length];
for (int i = 0; i < length; i++)
{
copiedArray[i] = array[i];
}
return copiedArray;
}

最佳答案

如果您真正想要的只是将第一个 n 个元素从一个 C 数组复制到另一个已经存在的 数组中,最好的方法可能就是简单地使用 内存体:

memcpy(targetArray, sourceArray, sizeof(sourceArray[0]) * numElements);

sizeof(sourceArray[0]) 计算数组中类型的字节大小(在您的情况下,它等同于 sizeof(float)

关于objective-c - 当我尝试在函数中返回此数组时,为什么会出现错误 "Array initializer must be an initializer list"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20939339/

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