gpt4 book ai didi

c++ - 将数组传递给函数

转载 作者:行者123 更新时间:2023-11-28 03:22:46 25 4
gpt4 key购买 nike

我有一个名为 Planet 的类。

我有一组 Planet 对象。

我声明数组如下:

planet * planetList[5] = 
{
new planet(...),
new planet(...),
new planet(...),
new planet(...),
new planet(...),
};

所以我需要将这个数组传递给这两个函数。

对于这两个函数,我都这样声明它们,并使用完全相同的参数:

void function1 (planet planetList[5], int numOfPlanets) {...}
void function2 (planet planetList[5], int numOfPlanets) {...}

但是当我调用这两个函数时,

// receives no error
function1(planetList, numOfPlanets);
// error saying "cannot convert parameter 1 from 'planet *[5]' to 'planet []'"
function2(planetList, numOfPlanets);

谁能解释一下这个现象?

最佳答案

您已经声明了行星指针数组 (planet * []),但函数参数是行星对象数组 (planet [])。因此,这两个函数调用都不应该起作用。

尝试:

void function1(planet *planetList[5], int numOfPlanets) {}
void function2(planet *planetList[5], int numOfPlanets) {}

关于c++ - 将数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14984970/

25 4 0
文章推荐: javascript - Vue js在路由页面时为元素添加动画
文章推荐: html - 列表组在面板内不起作用( Bootstrap )
文章推荐: javascript - onclick() 在嵌套在 中的
中没有响应