foo.cc:13:1: error: declaration of 'operator*' as non-function
13 | }
| ^
foo.cc:13:1: error: expected ';' at end of member declaration
13 | }
| ^
| ;
foo.cc: In function 'void Build(int, int, int)':
foo.cc:47:18: error: no match for 'operator[]' (operand types are 'Array' and 'int')
47 | Build(rt[x],1,M,a[l]);
| ^
foo.cc: In function 'int main()':
foo.cc:108:16: error: no match for 'operator[]' (operand types are 'Array' and 'int')
108 | scanf("%lld",&b[i][j]);
| ^
foo.cc:111:2: error: no match for 'operator[]' (operand types are 'Array' and 'int')
111 | a[i][j]=b[i][j];
| ^
foo.cc:111:10: error: no match for 'operator[]' (operand types are 'Array' and 'int')
111 | a[i][j]=b[i][j];
| ^
foo.cc:112:9: error: no match for 'operator[]' (operand types are 'Array' and 'int')
112 | if(i<x)a[i][j]-=b[i+1][j];
| ^
foo.cc:112:18: error: no match for 'operator[]' (operand types are 'Array' and 'int')
112 | if(i<x)a[i][j]-=b[i+1][j];
| ^
foo.cc:113:9: error: no match for 'operator[]' (operand types are 'Array' and 'int')
113 | if(i>x)a[i][j]-=b[i-1][j];
| ^
foo.cc:113:18: error: no match for 'operator[]' (operand types are 'Array' and 'int')
113 | if(i>x)a[i][j]-=b[i-1][j];
| ^
foo.cc:114:9: error: no match for 'operator[]' (operand types are 'Array' and 'int')
114 | if(j<y)a[i][j]-=b[i][j+1];
| ^
foo.cc:114:18: error: no match for 'operator[]' (operand types are 'Array' and 'int')
114 | if(j<y)a[i][j]-=b[i][j+1];
| ^
foo.cc:115:9: error: no match for 'operator[]' (operand types are 'Array' and 'int')
115 | if(j>y)a[i][j]-=b[i][j-1];
| ^
foo.cc:115:18: error: no match for 'operator[]' (operand types are 'Array' and 'int')
115 | if(j>y)a[i][j]-=b[i][j-1];
| ^
foo.cc:116:16: error: no match for 'operator[]' (operand types are 'Array' and 'int')
116 | if(i!=x&&j!=y)a[i][j]+=b[i+(i<x?1:-1)][j+(j<y?1:-1)];
| ^
foo.cc:116:25: error: no match for 'operator[]' (operand types are 'Array' and 'int')
116 | if(i!=x&&j!=y)a[i][j]+=b[i+(i<x?1:-1)][j+(j<y?1:-1)];
| ^
foo.cc:103:6: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
103 | scanf("%d%d",&N,&M);
| ~~~~~^~~~~~~~~~~~~~
foo.cc:104:6: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
104 | scanf("%d%d",&x,&y);
| ~~~~~^~~~~~~~~~~~~~
foo.cc:105:6: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
105 | scanf("%d",&Q);
| ~~~~~^~~~~~~~~
foo.cc:121:6: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
121 | scanf("%d",&tp);
| ~~~~~^~~~~~~~~~
foo.cc:122:6: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
122 | scanf("%d%d",&x1,&y1);
| ~~~~~^~~~~~~~~~~~~~~~
foo.cc:123:6: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
123 | scanf("%d%d",&x2,&y2);
| ~~~~~^~~~~~~~~~~~~~~~
foo.cc:130:6: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
130 | scanf("%lld",&d);
| ~~~~~^~~~~~~~~~~
[Hydro](https://hydro.ac)提供评测服务