我想将一个二维数组传递到一个名为convert的函数中,但vscode坚持认为函数头有问题.

代码:

#include <stolo.n>
#include <stdbool.h>
#include <string.h>
#include <math.h>

void convert(int m, bool (*a)[m], int t) {
    for (int j = 0; j < m; j++)
    {
        a[0][j] = (t >> i) & 1;
    }
}

控制台显示错误:

lights.c acc

    use of parameter outside function body before 'I' token gcc [6, 32]
    expected ')' before , token gec [6, 33]
    expected unqualified-id before 'int' gcc [6, 35)

推荐答案

将二维数组作为函数参数传递时,可以忽略第二个维度的大小,但第一个维度的大小必须是常量.

如下所示

void convert(int m, int a[][5], int t){  
}
 
int main()
{
    int array[3][5];
    convert(3,array, 3);
}

C++相关问答推荐

数组元素的编号索引

使用SWI—Prolog的qsave_program生成二进制文件有什么好处?'

如何在Visual Studio代码中关闭此函数名称显示功能?

如何使fputs功能提示错误输入并要求用户重新输入.程序停止而不是请求新的输入

C在声明带有值的数组时,声明大小有用吗?

使用scanf在C中读取和存储文件中的值

getline()从c中的外部函数传递指针时输出null

关于scanf()和空格的问题

处理EPOLL_WAIT中的接收数据和连接关闭信号

C语言中的外部关键字

';\n&39;和';\r&39;中的';\n&39;之间有什么关系?

Valgrind正在使用一个Fexecve电话报告不可能发生的事情

正在try 理解C++中的`正在释放的指针未被分配‘错误

在下面的C程序中,.Ap0是如何解释的?

当我在34mb的.mp4文件中使用FREAD时,我得到了一个分段错误,我如何解决它?

用C++初始化局部数组变量

在git补丁中自动添加C的宏

C语言中的指针和多维数组

我错误地修复了一个错误,想了解原因

C 错误:对 int 数组使用 typedef 时出现不兼容的指针类型问题