首页 > 解决方案 > 我收到一条错误消息,提示“没有运算符 << 与这些操作数匹配”,我不确定为什么会出现这种情况

问题描述

在代码中,我试图让用户输入八个值,然后将这些值加在一起,加在一起,然后加三,最后将里程总数除以八。但是,当我运行此代码时,我收到一条错误消息,提示没有运算符 << 与这些操作数匹配。

这是有问题的代码,对于任何错误的格式,我深表歉意我是该网站的新用户。

#include <iostream>
using namespace std;

int main()
{
    
    int hourswalked, hourswalkedD2, hourswalkedD3, hourswalkedD4, hourswalkedD5, 
        hourswalkedD6, hourswalkedD7,hourswalkedD8;

    int total_hours = hourswalked + hourswalkedD2 + hourswalkedD3 + hourswalkedD4 + hourswalkedD5 + hourswalkedD6 + hourswalkedD7 + hourswalkedD8;
    int total_miles = total_hours * 3;
    int avg_miles = total_miles / 8;

    cout << endl << "Please enter the number of hours you have walked each day of your hike" << endl;

    cin >> hourswalked >> endl;
    cin >> hourswalkedD2 >> endl;
    cin >> hourswalkedD3 >> endl; 
    cin >> hourswalkedD4 >> endl;
    cin >> hourswalkedD5 >> endl;
    cin >> hourswalkedD6 >> endl;
    cin >> hourswalkedD7 >> endl;
    cin >> hourswalkedD8 >> endl;

    cout << "You walked for " << total_hours << " hours." << endl;

    cout << "You walked for " << total_miles << " miles." << endl; 

    cout << "On average you walked " << avg_miles << " miles." << endl;

    return 0; 
}

标签: c++

解决方案


std::cin接受用户输入,您可以记住,>>操作员看起来像是将数据汇集到变量中。因此,当您输入时,std::endl您是在将数据“汇集”到std::cin变量中,但这不是std::endl目的。您的解决方案如下:

std::cin >> hoursWalked;
std::cout << std::endl;

推荐阅读