dev-c++的报错信息:
[Error] no match for 'operator[]' (operand types are 'add' and 'int')
以下为代码: PS:以“//此处报错!”表示此处报错
#include<iostream>
using namespace std;
struct add{ //位置信息
int x,y;
bool f;
short a;//angle
}fj,c;
int main()
{
char map [10][10];
for (int i=0;i!=10;i++) for (int j=0;j!=10;j++) {
cin>>map[i][j];
if (map[i][j]=='F') { //赋值
fj.x=i;
fj.y=j;
fj.a=0;
}
if (map[i][j]=='C') {
c.x=i;
c.y=j;
c.a=0;
}
}
int i;
for (i=1;i<=10000;i++) {//模拟
fj.f=0;
c.f=0;
if ((fj.a==0&&fj.x-1>=0&&c[fj.x-1][fj.y]=='*')||(fj.a==90&&fj.y+1<=9&&c[fj.x][fj.y+1]=='*')||(fj.a==180&&fj.x+1<=9&&c[fj.x+1][fj.y]=='*')||(fj.a==270&&fj.y-1>=0&&c[fj.x][fj.y-1]=='*')) fj.f=1;//_此处报错!_
if ((c.a==0&&c.x-1>=0&&c[c.x-1][c.y]=='*')||(c.a==90&&c.y+1<=9&&c[c.x][c.y+1]=='*')||(c.a==180&&c.x+1<=9&&c[c.x+1][c.y]=='*')||(c.a==270&&c.y-1>=0&&c[c.x][c.y-1]=='*')) c.f=1;//_此处报错!_
//farmer john
if (fj.f==1) {
if (fj.a=0) fj.x--;
if (fj.a=90) fj.y++;
if (fj.a=180) fj.x++;
if (fj.a=270) fj.y--;
}
else fj.a=(fj.a+90)%360;
//牛
if (c.f==1) {
if (c.a=0) c.x--;
if (c.a=90) c.y++;
if (c.a=180) c.x++;
if (c.a=270) c.y--;
}
else c.a=(c.a+90)%360;
if (fj.x==c.x&&fj.y==c.y) {
cout<<i;
return 0;
}
}
cout<<'0';
return 0;
}