Matrix*partiklar を update_boids 関数に追加して、構造体に保存した値をメイン関数で使用できるようにしようとしています。どこから来ているのか理解できないので、このエラーに対して頭を悩ませています。これを解決する方法を理解するのを手伝ってもらえますか?
私は C の初心者で、グラフィック用に自分のマシンにインストールされた SDL ライブラリで gcc を使用しています。
次のコンパイラ エラーが発生します。
main.c: In function ‘main’:
main.c:123:20: error: expected expression before ‘Matrix’
make: *** [main] Error 1
次のコード行を指します。
update_boids(Matrix *partiklar);
Matrix を次のように定義します。
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++;
}