gpt4 book ai didi

c - "error: array type has incomplete element type"尝试传递二维数组后

转载 作者:太空宇宙 更新时间:2023-11-04 08:52:33 26 4
gpt4 key购买 nike

新手需要帮助。此代码适用于 Windows(Visual Studio 2012),但在 GCC 上我收到错误:“数组类型具有不完整的元素类型”对于下面的所有 void 类型函数。有人能告诉我为什么吗? (这只是我所有代码的一部分)。谢谢 :-)

void initialize_arrays(struct data data_list[][ARRAY_SIZE]);
void read_file(struct data data_list[][ARRAY_SIZE]);
void print_struct_array(struct data data_list[][ARRAY_SIZE]);
void parallel_print(int thread_number, struct data data_list[][ARRAY_SIZE]);
void print_struct(struct data data_struct, int thread, int array_num, int elem_num);

struct data {
char *name;
int age;
double lenght;
};

int main()
{
struct data data_array[STRUCT_SIZE][ARRAY_SIZE];
initialize_arrays(data_array);
read_file(data_array);
print_struct_array(data_array);
parallel_print(6, data_array);
getchar();
return 0;
}

void initialize_arrays(struct data data_list[][ARRAY_SIZE])
{
int i,j;
for(i = 0; i < ARRAY_SIZE; i++)
for(j = 0; j < STRUCT_SIZE; j++)
{
data_list[i][j].name = NULL;
data_list[i][j].age = 0;
data_list[i][j].lenght = 0.0;
}
}

最佳答案

在声明函数原型(prototype)的地方,程序不知道 struct data 这样的东西,因为 struct 声明出现在更下方。

将结构声明移到函数原型(prototype)之上。

(某些 C 语言代码是否在 Visual Studio 中工作是一个大彩票,因为它几乎不遵循任何 C 标准。)

关于c - "error: array type has incomplete element type"尝试传递二维数组后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19095637/

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