Mình cần giúp đỡ về đoạn code c++ bị lỗi: No match for 'operator<<'

Code của mình bị lỗi như thế này các bạn, có bạn nào biết lỗi thì giúp mình chữa lỗi với thank :slight_smile:.

 #include <iostream>

using namespace std;


void Special_Force();
void Assault();
void Medic();
void Sniper();
void Engineer();


int main();

{
    int i;
    cout << "Hello wellcome to battlefield! /n Choose the class which you want! " << endl;
    cout << "Class: Special Force: 1/n";
    cout << "Class: Assault: 2/n";
    cout << "Class: Medic: 3/n";
    cout << "Class: Sniper: 4/n"
    cout << "Class: Engineer: 5/n";
    cin >> i;

    if (i == 1)
    {
        cout << Special_Force();
    }
    else if (i == 2)
    {
        cout << Assault();
    }
    else if (i == 3)
    {
        cout << Medic();
    }
    else if (i == 4)
    {
        cout << Sniper();
    }
    else if (i == 5)
    {
        cout << Engineer();
    }
    else
    {
        cout << "Can't choose a class" << endl();
    }
    return 0;
}

void Special_Force()
{
    string ScForceWeaPon = "Knife \nM4A1 Carbine \nSig Sauer P226R \nGrenade \n Mines.";
}

void Assault()
{
    string AssaultWeaPon = "knife \nM16A4 rife \nBaretta M9 \nGrenade.";
}

void Medic()
{
    string MedicWeaPon = "knife \nM16 \nBaretta M9 \nGrenade \nMedic kit.";
}

void Sniper()
{
    string SniperWeaPon = "Knife \nM24 SWS \nBaretta M9 \nSmoke Grenade \nRadio.";
}

void Engineer()
{
    string EngineerWeaPon = "Knife \nShotgun \nBaretta M9 \nFix kit \n M830A1 HEAT.";
}

Màn hình lỗi

Mấy hàm số của bạn có trả về cái gì đâu, lấy gì để cout???

2 Likes

Thank you for help me. :slight_smile:

Như bạn @MeigyokuThmn nói là hàm của bạn không có kiểu trả về. cout cần gì đó để in ra, nhưng hàm không trả về thì không có gì để in ra cả.

std::string Special_Force()
{
    return "I chose Special Force\n.";
}
...
std::cout << Special_Force();
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?