gpt4 book ai didi

c - 将对象数组传递给 Objective C 中的函数——并返回一个对象

转载 作者:行者123 更新时间:2023-12-05 01:37:21 25 4
gpt4 key购买 nike

如果这是一个愚蠢的问题,我深表歉意,但我是新手,无法在任何地方找到答案。我声明了一个包含五个对象(Fraction 对象)的数组,如下所示:

Fraction *fractArray[5];

我现在想将这个数组(或至少是指向它的指针)传递给一个 C 风格的函数,该函数将对数组中的分数执行各种操作并返回一个分数。在声明了一个指向数组的指针(称之为 *fractPointer)之后,我尝试设置一个函数,例如:

Fraction* arraySum (Fraction *fractPointer, int arraySize)
{
// dostuff , then return a fraction as the result
}

...并将预定义的指针和数组大小传递给它。我已经通过调试确定 fractPointer 成功指向第一个数组元素。指针最初也指向函数中的正确位置。但我似乎无法获得递增到数组中下一个对象的指针。当我执行 fractPointer++; 时,它不断抛出错误(在函数内声明新的 Fraction 指针时也是如此)。提示是我正在对一个指向 Fraction 的指针进行算术运算,它的大小不是恒定的。我这样做是不是错了?

最佳答案

当传递给函数时,数组会退化为指针。所以你需要像这样声明你的函数:

Fraction *arraySum (Fraction **fractPointer, int arraySize);

或作为

Fraction *arraySum (Fraction *fractPointer[], int arraySize);

为了让它正常工作。

关于c - 将对象数组传递给 Objective C 中的函数——并返回一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13431727/

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