当运行一个带vscode的C语言程序时,一直报错,但能生成正确的可执行文件。怎么了?

When running a C language program with vscode, it keeps reporting an error, but it can generate the correct executable file. What's the matter?

我想将一个二维数组传递给一个名为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)

将two-dimensional数组作为函数参数传递时,可以省略第二维的大小,但第一维的大小必须保持不变。

如下

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