gpt4 book ai didi

C++:将二维数组传递给函数

转载 作者:太空宇宙 更新时间:2023-11-04 13:35:15 24 4
gpt4 key购买 nike

这可能很简单,但我不明白为什么不能编译。

void display(int);

const int rows = 2;
const int cols = 2;

int main()
{

int ray[rows][cols] = {{1,2 },
{3,4}};

display(ray);

return 0;
}

void display(const int ray[][cols]){

for(int i = 0; i < 2; i ++){
for(int j = 0; j < 2; j ++){

cout << ray[i][j] << endl;

}
}
}

从“int (*)[2]”到“int”的无效转换 [-fpermissive]|

最佳答案

这段代码可以工作

const int rows = 2;
const int cols = 2;

void display( const int ray[][cols]);

int main()
{

int ray[rows][cols] = {{1,2 },
{3,4}};
display(ray);
return 0;
}

void display( const int ray[][cols]){

for(int i = 0; i < 2; i ++){
for(int j = 0; j < 2; j ++){
cout << ray[i][j] << endl;

}
}
}

你的函数定义和函数声明不匹配,一个是int类型,另一个是void

你的函数声明是

void display(int);

定义是

int display(const int ray[0][cols])

int display(const int ray[0][cols])
^
0 ?

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

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