这个报错该怎么解决
文件名 行 列 描述
D:/C++/猜拳模拟.cpp 0 -1 In function 'int main()':
D:/C++/猜拳模拟.cpp 5 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 41 15 [说明] in expansion of macro 'stone'
D:/C++/猜拳模拟.cpp 6 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 42 15 [说明] in expansion of macro 'paper'
D:/C++/猜拳模拟.cpp 7 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 43 15 [说明] in expansion of macro 'sciss'
D:/C++/猜拳模拟.cpp 5 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 46 15 [说明] in expansion of macro 'stone'
D:/C++/猜拳模拟.cpp 6 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 47 15 [说明] in expansion of macro 'paper'
D:/C++/猜拳模拟.cpp 7 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 48 15 [说明] in expansion of macro 'sciss'
D:/C++/猜拳模拟.cpp 5 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 53 15 [说明] in expansion of macro 'stone'
D:/C++/猜拳模拟.cpp 6 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 54 15 [说明] in expansion of macro 'paper'
D:/C++/猜拳模拟.cpp 7 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 55 15 [说明] in expansion of macro 'sciss'
D:/C++/猜拳模拟.cpp 5 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 58 15 [说明] in expansion of macro 'stone'
D:/C++/猜拳模拟.cpp 6 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 59 15 [说明] in expansion of macro 'paper'
D:/C++/猜拳模拟.cpp 7 15 [错误] expected unqualified-id before 'int'
D:/C++/猜拳模拟.cpp 60 15 [说明] in expansion of macro 'sciss'
#include <bits/stdc++.h>
#define awin int(0)
#define bwin int(1)
#define nwin int(2)
#define stone int(0)
#define paper int(1)
#define sciss int(2)
using namespace std;
struct robot{
int stone_=0, paper_=0, sciss_=0;
int opt();
}r1, r2;
int robot::opt(){
if(this->stone_>=this->paper_&&this->stone_>=this->sciss_) return stone;
if(this->paper_>=this->stone_&&this->paper_>=this->sciss_) return paper;
if(this->sciss_>=this->stone_&&this->sciss_>=this->paper_) return sciss;
}
int check(int a, int b){
if(a==stone&&b==stone) return nwin;
if(a==stone&&b==paper) return bwin;
if(a==stone&&b==sciss) return awin;
if(a==paper&&b==stone) return awin;
if(a==paper&&b==paper) return nwin;
if(a==paper&&b==sciss) return bwin;
if(a==sciss&&b==stone) return bwin;
if(a==sciss&&b==paper) return awin;
if(a==sciss&&b==sciss) return nwin;
}
int main(){
r2.paper_++;
for(unsigned long long i;true;i++){
int k=check(r1.opt(), r2.opt());
char c=k==2?'n':k==0?'a':'b';
printf("round %5llud:%c\n", i, c);
if(k==0){
switch(r1.opt()){
case 0:r1.stone++;
case 1:r1.paper++;
case 2:r1.sciss++;
}
switch(r2.opt()){
case 0:r2.stone--;
case 1:r2.paper--;
case 2:r2.sciss--;
}
}
if(k==1){
switch(r2.opt()){
case 0:r2.stone++;
case 1:r2.paper++;
case 2:r2.sciss++;
}
switch(r1.opt()){
case 0:r1.stone--;
case 1:r1.paper--;
case 2:r1.sciss--;
}
}
}
return 0;
}