gpt4 book ai didi

c - 将二维数组传递给 C 中的函数?

转载 作者:行者123 更新时间:2023-12-04 06:52:08 25 4
gpt4 key购买 nike

我知道这很简单,但我似乎无法完成这项工作。

我的功能是这样的:

 int GefMain(int array[][5])
{
//do stuff
return 1;
}

在我的主要:
 int GefMain(int array[][5]);

int main(void)
{
int array[1800][5];

GefMain(array);

return 0;
}

我指的是 this有用的资源,但我仍然收到错误 "warning: passing argument 1 of GefMain from incompatible pointer type."我究竟做错了什么?

编辑:

代码在两个文件中,由编译器链接在一起。我没有使用 gcc。上面的代码正是我所拥有的,除了函数在主函数中被声明为“extern int”。谢谢大家的时间。

最佳答案

代码没问题。在单个文件中,这对我来说用 gcc 编译得很好。

int g(int arr[][5])
{
return 1;
}

int main()
{
int array[1800][5];
g(array);
return 0;
}

我猜你是 #include输入错误的文件——也许是对 GefMain 有不同声明的文件.或者您可能只是没有保存声明 GefMain 的文件,所以它仍然有 int [][3] 的参数,例如,这会导致警告。

我建议您发布整个代码来重现问题(当然,在您删除所有不需要重现问题的内容之后)。但很有可能,到那时,你已经自己解决了。

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

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