You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++新手求助:运算符匹配失败及表达式类型错误问题

C++新手错误修复方案

错误原因及解决方法

  • 错误1、2:no operator ">" / "<" matches these operands
    你将Answer定义为string类型,C++不支持字符串与整数直接进行大小比较,没有对应的运算符实现。解决方法是把Answer的类型改为整数类型int。

  • 错误3:Expression must have bool type(or be convertable to bool)
    这里存在两个问题:一是误用了赋值运算符=(作用是把19赋值给Answer),而非用于判断相等的==;二是字符串和整数无法直接比较。修正时先将Answer改为int类型,再把=替换为==。

修正后的完整代码

#include <iostream>
using namespace std;

int main()
{
    cout << "What is 9 + 10?\n";
    
    cout << "Answer:";
    
    int Answer; // 改为整数类型

    cin >> Answer;

    if (Answer > 19)
    {
        cout << "Too high!";
    }
    
    if (Answer < 19)
    {
        cout << "Too low!";
    }
    
    if (Answer == 19) // 替换为相等比较运算符
    {
        cout << "CORRECT!";
    }
    return 0;
}

补充说明:代码开头必须添加#include <iostream>和using namespace std;(或者使用std::cout、std::cin的完整写法),否则编译器会找不到cout和cin的定义。

内容的提问来源于stack exchange,提问作者default

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 07:57:33