1
typedef struct tsk{
    int x;
    int n;
}TSK;

TSK trd[MAX];
 main(){
    while(life!=0){
 randomize();
     for(i=0;i<MAX;i++){
     trd[i].n=rand()%40+10;
         if(trd[i].n<10||trd[i].n>45)
         trd[i].n=rand()%40+10;
         trd[i].x=25;
     }
     for(m=0;m<MAX;m++){
     gotoxy(8,m);printf("%c%c",23,23);
     gotoxy(7,m);printf("%c",17);
     gotoxy(46,m);printf("%c%c",23,23);
     gotoxy(48,m);printf("%c",16);
     }
 for(j=0;j<MAX;j++){
 if(life==0)
     break;
 gotoxy(1,1);
 insline();
 gotoxy(trd[j].n,1);
 printf("%c",3);
 trd[j].x--;
 gotoxy(ply,25);
 printf("%c",1);
 gotoxy(1,26);
 delline();
 score++;
 life=hit(trd,life,ply);
 gotoxy(57,25);
 printf("SCORE: %0.0f  LIFE: %d",score,life);
 gotoxy(8,1);printf("%c%c",23,23);
    gotoxy(46,1);printf("%c%c",23,23);
    gotoxy(7,1);printf("%c",17);
    gotoxy(48,1);printf("%c",16);
    gotoxy(4,1);printf("%c",label[j]);
    delay(200);

        if(kbhit()){
            key=getch();
            key=toupper(key);
            if(key==27)
                life=0;
            if(key=='L')
            ply++;
                if(ply==46)
                ply--;
            else if(key=='K')
            ply--;
                if(ply==9)
                ply++;
            }
   }
  }
}

int hit(int trd[],int life, int ply){
int i;
    for(i=0;i<MAX;i++){
        if((trd[i].n==ply)&&(trd[i].x==0))
            life-=1;
        }
    return life;


  }

誰でもこのエラーを修正する方法を教えてもらえますか: Structure required on left side of . また 。*?プログラムを実行すると、このエラーが発生し、hit() 関数を指しています。このエラーの原因がわかりません.pls help.thanks.

4

3 に答える 3

6

trdint配列です。intにはメンバnまたはがありませんx

関数シグネチャを次のように修正しますint hit(TSK trd[], int life, int ply)

于 2013-01-10T11:21:59.623 に答える
5

これは実行時エラーではなく、コンパイル時エラーです。タイプ の配列の要素にアクセスしようとしているために発生し.xます。整数はs ではなく、フィールドとを持たないため、コンパイラはエラーであると通知します。.yint[]structxy

最も可能性の高い修正は、関​​数のtrd配列パラメーターの型をhit次のように変更することです。

int hit(TSK trd[],int life, int ply) {
    ...
}

関数を宣言する前に使用しているため、最初にプロトタイプを追加する必要があることに注意してください。

于 2013-01-10T11:22:11.807 に答える
2

hit関数では、引数trdints の配列です。TSK[]代わりに型の引数を作るつもりでしたか?

于 2013-01-10T11:22:03.507 に答える