m0_49699745 2022-03-17 18:57 采纳率: 100%
浏览 3212
已结题

C++ 没有与这些操作数匹配的 "=="运算符 操作数类型为: std::basic_istream<char, std::char_traits<char>> == int

写一个跳出循环语句的时候,报错显示C++ 没有与这些操作数匹配的 "=="运算符 操作数类型为: std::basic_istream<char, std::char_traits> == int

#include <iostream> 
#include <string> 
#include <Windows.h>
using namespace std;

int main(void) {

    string word;
    int num = 0;
    int length = 0;
    cout << "请输入一个单词" << endl;
    while (cin >> word) {
        if ((cin >> word) == 0) {
            break;
        }
        num = num + 1;
        length = length + word.size();   
        cout << "您第" << num << "次输入的单词是" << word << endl;
        cout << "他的长度是" << word.size() << endl;
        cout << "单词的总长度是" << length << endl;
        cout << "请继续输入" << endl;
    }
}

请问这个错误怎么解决

img

  • 写回答

2条回答 默认 最新

  • _GX_ 2022-03-17 19:24
    关注

    if ((cin >> word) == 0)改为if (word == "0")

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 请回答用户的提问 10月1日
  • 系统已结题 3月25日
  • 已采纳回答 3月17日
  • 创建了问题 3月17日