gpt4 book ai didi

objective-c - 从 Objective-C 函数返回二维 C 数组

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

我想在 Objective-C 中实现类似的东西

+(int[10][10])returnArray
{
int array[10][10];
return array;
}

但是,这会产生“数组初始值设定项必须是初始值设定项列表”编译器错误。这有可能吗?

最佳答案

您不能在 C 或 Objective-C 中返回(任何维度的)数组。由于数组不是左值,您将无法将返回值分配给变量,因此发生这种事情没有任何意义。但是,您可以解决它。您需要返回一个指针,或者使用一些技巧,例如将您的数组放入结构中:

// return a pointer
+(int (*)[10][10])returnArray
{
int (*array)[10][10] = malloc(10 * 10 * sizeof(int));
return array;
}

// return a structure
struct array {
int array[10][10];
};

+(struct array)returnArray
{
struct array array;
return array;
}

关于objective-c - 从 Objective-C 函数返回二维 C 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8766377/

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