我正在尝试将 Matrix*partiklar 添加到我的 update_boids 函数中,以便我可以使用之前在主函数中保存在结构中的值。我正在抨击这个错误,因为我不明白它来自哪里。你能帮我理解如何解决这个问题吗?
我对 C 很陌生,并且正在使用 gcc 和我的机器上安装的 SDL 库来获取图形。
我得到这个编译器错误:
main.c: In function ‘main’:
main.c:123:20: error: expected expression before ‘Matrix’
make: *** [main] Error 1
这指向这些代码行:
update_boids(Matrix *partiklar);
矩阵定义如下:
typedef struct Matrix
{
double MatX;
double MatY;
double MatZ;
} Matrix;
并且特别喜欢:
Matrix partiklar[NR_BIRDS];
Matrix hastighet[NR_BIRDS];
Matrix *p[NR_BIRDS];
Matrix *v[NR_BIRDS];
int t = 0;
while(t<NR_BIRDS)
{
partiklar[t].MatX = rand()%100;
partiklar[t].MatY = rand()%100;
partiklar[t].MatZ = rand()%100;
p[t] = &partiklar[t];
hastighet[t].MatX = rand()%10;
hastighet[t].MatY = rand()%10;
hastighet[t].MatZ = rand()%10;
v[t] = &hastighet[t];
/*printf("%f\n", partiklar[t].MatX);
printf("%f\n", partiklar[t].MatY);
printf("%f\n", partiklar[t].MatZ); */
t++;
}