zzzyf 发表于 2021-10-4 23:37:16

求助各位大神,请问这个报错是怎么回事?

报错信息如下:

原题: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;
}

求解决办法!!

YaoShi 发表于 2021-10-5 08:00:41

图片里很明显了最后一行报错:__comp不能用作函数
不过我没怎么学过c++无法多说{:10_269:}

桃花飞舞 发表于 2021-10-5 09:35:42

本帖最后由 桃花飞舞 于 2021-10-5 09:44 编辑

这个没有题目只有代码,我看不出你要干什么?所以能做的有限。错就在max()函数传了三个参数。你可以这样改max(max(a.b , a.r) , a.w),

jhq999 发表于 2021-10-5 09:41:18

实在不行你自己写一个max函数实现需要的功能
页: [1]
查看完整版本: 求助各位大神,请问这个报错是怎么回事?