/ Vijos /

记录详情

Compile Error

foo.c:23:5: error: expected specifier-qualifier-list before 'mat'
   23 |     mat(int M=0,int N=0){m=M;n=N;}
      |     ^~~
foo.c:34:1: error: unknown type name 'mat'; use 'struct' keyword to refer to the type
   34 | mat operator*(mat a,mat b){
      | ^~~
      | struct 
foo.c:34:13: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
   34 | mat operator*(mat a,mat b){
      |             ^
foo.c:50:1: error: unknown type name 'mat'; use 'struct' keyword to refer to the type
   50 | mat operator^(mat x,ll p){
      | ^~~
      | struct 
foo.c:50:13: error: expected '=', ',', ';', 'asm' or '__attribute__' before '^' token
   50 | mat operator^(mat x,ll p){
      |             ^
foo.c: In function 'main':
foo.c:3:25: warning: format '%d' expects argument of type 'int *', but argument 2 has type 'll *' {aka 'long long int *'} [-Wformat=]
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                         ^~~~~~~
foo.c:62:5: note: in expansion of macro 'GetI64'
   62 |     GetI64(m);GetI64(a);GetI64(c);GetI64(x0);GetI64(n);GetI64(g);
      |     ^~~~~~
foo.c:3:30: note: format string is defined here
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                          ~~~~^
      |                              |
      |                              int *
      |                          %I64lld
foo.c:3:25: warning: format '%d' expects argument of type 'int *', but argument 2 has type 'll *' {aka 'long long int *'} [-Wformat=]
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                         ^~~~~~~
foo.c:62:15: note: in expansion of macro 'GetI64'
   62 |     GetI64(m);GetI64(a);GetI64(c);GetI64(x0);GetI64(n);GetI64(g);
      |               ^~~~~~
foo.c:3:30: note: format string is defined here
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                          ~~~~^
      |                              |
      |                              int *
      |                          %I64lld
foo.c:3:25: warning: format '%d' expects argument of type 'int *', but argument 2 has type 'll *' {aka 'long long int *'} [-Wformat=]
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                         ^~~~~~~
foo.c:62:25: note: in expansion of macro 'GetI64'
   62 |     GetI64(m);GetI64(a);GetI64(c);GetI64(x0);GetI64(n);GetI64(g);
      |                         ^~~~~~
foo.c:3:30: note: format string is defined here
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                          ~~~~^
      |                              |
      |                              int *
      |                          %I64lld
foo.c:3:25: warning: format '%d' expects argument of type 'int *', but argument 2 has type 'll *' {aka 'long long int *'} [-Wformat=]
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                         ^~~~~~~
foo.c:62:35: note: in expansion of macro 'GetI64'
   62 |     GetI64(m);GetI64(a);GetI64(c);GetI64(x0);GetI64(n);GetI64(g);
      |                                   ^~~~~~
foo.c:3:30: note: format string is defined here
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                          ~~~~^
      |                              |
      |                              int *
      |                          %I64lld
foo.c:3:25: warning: format '%d' expects argument of type 'int *', but argument 2 has type 'll *' {aka 'long long int *'} [-Wformat=]
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                         ^~~~~~~
foo.c:62:46: note: in expansion of macro 'GetI64'
   62 |     GetI64(m);GetI64(a);GetI64(c);GetI64(x0);GetI64(n);GetI64(g);
      |                                              ^~~~~~
foo.c:3:30: note: format string is defined here
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                          ~~~~^
      |                              |
      |                              int *
      |                          %I64lld
foo.c:3:25: warning: format '%d' expects argument of type 'int *', but argument 2 has type 'll *' {aka 'long long int *'} [-Wformat=]
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                         ^~~~~~~
foo.c:62:56: note: in expansion of macro 'GetI64'
   62 |     GetI64(m);GetI64(a);GetI64(c);GetI64(x0);GetI64(n);GetI64(g);
      |                                                        ^~~~~~
foo.c:3:30: note: format string is defined here
    3 | #define GetI64(x) scanf("%I64d",&x)
      |                          ~~~~^
      |                              |
      |                              int *
      |                          %I64lld
foo.c:64:5: error: unknown type name 'mat'; use 'struct' keyword to refer to the type
   64 |     mat b(1,2);
      |     ^~~
      |     struct 
foo.c:64:11: error: expected declaration specifiers or '...' before numeric constant
   64 |     mat b(1,2);
      |           ^
foo.c:64:13: error: expected declaration specifiers or '...' before numeric constant
   64 |     mat b(1,2);
      |             ^
foo.c:65:5: error: 'b' undeclared (first use in this function)
   65 |     b[1][1]=x0;
      |     ^
foo.c:65:5: note: each undeclared identifier is reported only once for each function it appears in
foo.c:67:5: error: unknown type name 'mat'; use 'struct' keyword to refer to the type
   67 |     mat f(2,2);
      |     ^~~
      |     struct 
foo.c:67:11: error: expected declaration specifiers or '...' before numeric constant
   67 |     mat f(2,2);
      |           ^
foo.c:67:13: error: expected declaration specifiers or '...' before numeric constant
   67 |     mat f(2,2);
      |             ^
foo.c:68:5: error: 'f' undeclared (first use in this function)
   68 |     f[1][1]=a;
      |     ^
foo.c:72:5: error: unknown type name 'mat'; use 'struct' keyword to refer to the type
   72 |     mat ans=b*(f^n);
      |     ^~~
      |     struct 
foo.c:73:13: error: subscripted value is neither array nor pointer nor vector
   73 |     ll x=ans[1][1]%g;
      |             ^
foo.c:4:33: warning: format '%d' expects argument of type 'int', but argument 2 has type 'll' {aka 'long long int'} [-Wformat=]
    4 | #define PutI64(x,arg...) printf("%I64d" arg,x)
      |                                 ^~~~~~~
foo.c:75:5: note: in expansion of macro 'PutI64'
   75 |     PutI64(x,"\n");
      |     ^~~~~~
foo.c:72:9: warning: variable 'ans' set but not used [-Wunused-but-set-variable]
   72 |     mat ans=b*(f^n);
      |         ^~~
[Hydro](https://hydro.ac)提供评测服务

信息

递交者
类型
递交
题目
P1725 随机数生成器
语言
C
递交时间
2024-01-01 18:44:26
评测时间
2024-01-01 18:44:26
评测机
分数
0
总耗时
0ms
峰值内存
0 Bytes