foo.c:8:2: error: expected specifier-qualifier-list before 'inline'
inline friend Matrix operator*(Matrix a,Matrix b)
^~~~~~
foo.c:52:2: error: unknown type name 'Matrix'
Matrix data;
^~~~~~
foo.c:59:1: error: unknown type name 'Matrix'
Matrix trans;
^~~~~~
foo.c:59:1: note: use 'struct' keyword to refer to the type
foo.c: In function 'Build':
foo.c:64:21: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
Build(place<<1,l,l+r>>1),Build(place<<1|1,(l+r>>1)+1,r),Up(place);
~^~
foo.c:64:47: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
Build(place<<1,l,l+r>>1),Build(place<<1|1,(l+r>>1)+1,r),Up(place);
~^~
foo.c: In function 'Modify':
foo.c:73:16: error: request for member 'clear' in something not a structure or union
T[place].data.clear();
^
foo.c:75:17: error: request for member 'a' in something not a structure or union
T[place].data.a[i][delta]=trans.a[i][delta];
^
foo.c:75:35: error: request for member 'a' in something not a structure or union
T[place].data.a[i][delta]=trans.a[i][delta];
^
foo.c: At top level:
foo.c:85:1: error: unknown type name 'Matrix'
Matrix Query(int place,int l,int r)
^~~~~~
foo.c:85:1: note: use 'struct' keyword to refer to the type
foo.c:96:21: error: expected ';', ',' or ')' before '&' token
inline void read(int&a)
^
foo.c:102:18: error: expected ';', ',' or ')' before '&' token
inline void M(int&a,int b){a+=b;a>=Mod?a-=Mod:(a<0?a+=Mod:a);}
^
foo.c: In function 'main':
foo.c:109:2: warning: implicit declaration of function 'read' [-Wimplicit-function-declaration]
read(n);
^~~~
foo.c:113:28: error: request for member 'a' in something not a structure or union
for(int j=0;j<3;j++)trans.a[i][j]=1;
^
foo.c:117:8: error: request for member 'a' in something not a structure or union
trans.a[p/10-1][p%10-1]=0;
^
foo.c:136:4: error: unknown type name 'Matrix'
Matrix res=Query(1,2,n);
^~~~~~
foo.c:136:4: note: use 'struct' keyword to refer to the type
foo.c:141:14: error: request for member 'a' in something not a structure or union
Ans+=res.a[f][0]+0ll+res.a[f][1]+res.a[f][2];
^
foo.c:141:30: error: request for member 'a' in something not a structure or union
Ans+=res.a[f][0]+0ll+res.a[f][1]+res.a[f][2];
^
foo.c:141:42: error: request for member 'a' in something not a structure or union
Ans+=res.a[f][0]+0ll+res.a[f][1]+res.a[f][2];
^
foo.c:149:14: error: request for member 'a' in something not a structure or union
Ans+=res.a[0][0]+0ll+res.a[0][1]+res.a[0][2]
^
foo.c:149:30: error: request for member 'a' in something not a structure or union
Ans+=res.a[0][0]+0ll+res.a[0][1]+res.a[0][2]
^
foo.c:149:42: error: request for member 'a' in something not a structure or union
Ans+=res.a[0][0]+0ll+res.a[0][1]+res.a[0][2]
^
foo.c:150:11: error: request for member 'a' in something not a structure or union
+ res.a[1][0]+res.a[1][1]+res.a[1][2]
^
foo.c:150:23: error: request for member 'a' in something not a structure or union
+ res.a[1][0]+res.a[1][1]+res.a[1][2]
^
foo.c:150:35: error: request for member 'a' in something not a structure or union
+ res.a[1][0]+res.a[1][1]+res.a[1][2]
^
foo.c:151:11: error: request for member 'a' in something not a structure or union
+ res.a[2][0]+res.a[2][1]+res.a[2][2];
^
foo.c:151:23: error: request for member 'a' in something not a structure or union
+ res.a[2][0]+res.a[2][1]+res.a[2][2];
^
foo.c:151:35: error: request for member 'a' in something not a structure or union