求助各位大神,请问这个报错是怎么回事?
报错信息如下:原题:https://www.luogu.com.cn/problem/P3392
报错时的代码:
#include <bits/stdc++.h>
using namespace std;
struct rwb{
int r,w,b,i;
}a;
int x,y,i,j,num,n,m;
char c;
int r,w,b;
bool B=false;
bool cmp(rwb x,rwb y){
return x.b>y.b;
}
int main(){
cin>>n>>m;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
cin>>c;
}
}
for(i=0;i<m;i++){
if(c!='W') num++;
if(c!='R') num++;
}
for(i=1;i<n-1;i++){
for(j=0;j<m;j++){
if(c=='R') a.r++;
if(c=='b') a.b++;
if(c=='W') a.w++;
}
a.i=i;
}
for(i=1;i<n-1;i++){
if(B){
num=num-max(a.b,a.r,a.w)+a.b+a.r+a.w;
}
else{
if(a.b>=a.r&&a.b>=a.w){
B=true;
num=num+a.r+a.w;
}
else{
num=num-max(a.r,a.w)+a.b+a.r+a.w;
}
}
}
if(B){
cout<<num;
}
else{
sort(a,a+n,cmp);
num=num-a.b+max(a.r,a.w);
cout<<num;
}
return 0;
}
求解决办法!! 图片里很明显了最后一行报错:__comp不能用作函数
不过我没怎么学过c++无法多说{:10_269:} 本帖最后由 桃花飞舞 于 2021-10-5 09:44 编辑
这个没有题目只有代码,我看不出你要干什么?所以能做的有限。错就在max()函数传了三个参数。你可以这样改max(max(a.b , a.r) , a.w), 实在不行你自己写一个max函数实现需要的功能
页:
[1]