结构的冲突类型

Conflicting types for a struct

我有一个家庭作业,我有一个我无法修改的代码库,我必须制作一个必须填充函数的结构。 这是代码,其中函数 fillDrivers() 来自代码库,结构是我制作的。

#include <string.h>
#include <stdbool.h>

void fillDrivers(Driver[]);

typedef struct{
    char name[20];
    char surname[20];
    int carNumber;
    bool rookie;
}Driver;

int main(void)
{
    return 0;
}

void fillDrivers(Driver arrayDrivers[]) {

    int i = 0;
    // Lewis Hamilton
    strcpy(arrayDrivers[i].name, "Lewis");
    strcpy(arrayDrivers[i].surname, "Hamilton");
    arrayDrivers[i].carNumber = 44;
    arrayDrivers[i].rookie = false;
    i++;

}

原始代码库包含网格中的所有驱动程序,我只留下第一个以减小大小。 问题是这段代码给我这个错误:第 19 行 'fillDrivers' 的冲突类型。 如果在结构中我在 Driver 处添加方括号,我会收到此错误: 数组的元素类型 'Driver'(又名 'struct (unnamed struct at C:\Users\paual\Desktop\Uni\Programmazione\Homeworks\Homework_3nuovo\main.c:7:9) []'),第 19 行也是如此。

我需要做什么?

首先需要声明Driver名称,然后才能在函数声明中使用它

typedef struct{
    char name[20];
    char surname[20];
    int carNumber;
    bool rookie;
}Driver;

void fillDrivers(Driver[]);