0
私は16x16行列でボットを動かすための関数を作成する際にこの問題があります。ラドロー。エラー:無効な型引数 ' - >'( 'Personaggio'を持っています)
Beloweコードである:
`
typedef struct{
int nx;
int ny;
}Personaggio;
Personaggio Ladro;
Personaggio Guardia;
void moveguardia(char scacchiera [][16], Personaggio *Guardia)
{
int movimento, GxMed, GyMed;
if(scacchiera[Guardia->nx-1][Guardia->ny]=='m'){
movimento=rand()%4;
if(movimento==0){
Guardia->nx=Guardia->nx+1;
scacchiera[Guardia->nx-1][Guardia->ny]=' ';
scacchiera[Guardia->nx][Guardia->ny]='G';
}
else if(movimento==1){
Guardia->nx=Guardia->nx-1;
scacchiera[Guardia->nx+1][Guardia->ny]=' ';
scacchiera[Guardia->nx][Guardia->ny]='G';
}
else if(movimento==2){
Guardia->ny=Guardia->ny-1;
scacchiera[Guardia->nx][Guardia->ny+1]=' ';
scacchiera[Guardia->nx][Guardia->ny]='G';
}
else if(movimento==3){
Guardia->ny=Guardia->ny+1;
scacchiera[Guardia->nx][Guardia->ny-1]=' ';
scacchiera[Guardia->nx][Guardia->ny]='G';
}
}
GxMed=abs((Guardia->nx) - (Ladro->nx));//error
エラーは、このラインGxMed = ABS((Guardia-> NX) - (Ladro-> NX))である; //エラー
エラーとしてコメントされた行を見てください。私はたくさんの検索をしており、また、 - >を置き換えようとしました。しかし役に立たない。
'Ladro'はポインタではありません。 –
もし ' - >'を '.'で置き換えれば、誤った結果が得られます。 –
これは、ローカル変数とグローバル変数を同じ名前と異なる型で混在させた場合に起こります。 –