简体   繁体   中英

error: no match for ‘operator<<’ (operand types are ‘std::basic_ostream<char>’

I have a problem with my code.

void viewall(struct student st[], int itemcount)
{
    int i = 0;
    cout << left << setw(5) << "ID" << setw(20) << "NAME" << setw(5) << "SEX"
            << setw(5) << "Q1" << setw(5) << "Q2" << setw(5) << "AS" << setw(5)
            << "MI" << setw(5) << "FI" << setw(5) << "TOTAL" << "\n";
    cout
            << "========================================================================\n";

    while (i <= itemcount)
    {

        if (st[i].stnumber != "")
        {

            cout << left << setw(5) << st[i].stnumber << setw(20)
                    << st[i].stname << setw(5) << st[i].sex << setw(5)
                    << st[i].quiz1 << setw(5) << st[i]quiz2 << setw(5) 
                    << st[i].assignment << setw(5) << st[i].midterm
                    << setw(5) << st[i].finale << setw(5) << st[i].total
                    << "\n";
        }

        i = i + 1;
    }

}

error: no match for 'operator<<' (operand types are 'std::basic_ostream<char>' <---- That's the error i got,what should i do?

It looks like you have a typo:

[...] << st[i]quiz2 << [...]

It should more likely be:

[...] << st[i].quiz2 << [...]

Note the . (dot)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM