代码无法编译,请问能怎么改

今天刷题时写了如下代码:

#include
#include
#include
using namespace std;
int main(){
    int N,ans=0;
    char B;
    cin>>N>>B;
    char card[4*N+1],type[4*N+1];
    for(int i=1;i<=4*N;i++){
        bool flag;
        int a;
        cin>>card[i]>>type[i];
        switch(type[i]){
            case B:
                flag=1;
                break;
            default:
                flag=0;
        }
        switch(card[i]){
            case'A':
                a=11;
                break;
            case'K':
                a=4;
                break;
            case'Q':
                a=3;
                break;
            case'J':
                a=flag?20:2;
                break;
            case'T':
                a=10;
                break;
            case'9':
                a=flag?14:0;
                break;
            case'8':
                a=0;
                break;
            case'7':
                a=0;
                break;
        }
        ans+=a;
    }
    cout<return 0;
}

编译时提示如下错误:

img


请问这是为什么捏

case B是不对的,应该是 case 'B'

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int main(){
    int N,ans=0;
    char B;
    cin>>N>>B;
    char card[4*N+1],type[4*N+1];
    for(int i=1;i<=4*N;i++){
        bool flag;
        int a;
        cin>>card[i]>>type[i];
        switch(type[i]){
            case 'B':
                flag=1;
                break;
            default:
                flag=0;
        }
        switch(card[i]){
            case'A':
                a=11;
                break;
            case'K':
                a=4;
                break;
            case'Q':
                a=3;
                break;
            case'J':
                a=flag?20:2;
                break;
            case'T':
                a=10;
                break;
            case'9':
                a=flag?14:0;
                break;
            case'8':
                a=0;
                break;
            case'7':
                a=0;
                break;
        }
        ans+=a;
    }
    cout<<ans;
    return 0;
}

看报错,case B的B要加引号

只能是整形的,不能是字符型