【问题标题】:I cannot understand the compiler C++ switch, invalid operand error我无法理解编译器 C++ 开关,无效操作数错误
【发布时间】:2022-11-13 12:33:13
【问题描述】:
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    float Litr;
    int opcja;

    cout << "Konwerter" << endl;
    switch(opcja){

case 1:
    cout << "Litr na barylke amerykanska i galon amerykanski" << endl;
    cin >> Litr;
    cout << Litr << " litrow to " << Litr * 159 << " barylek i " << Litr * 3,78 << "galonow.";
    break;
    }
    return 0;
}



第 16 行中的错误(例如 cout << Litr << " litrow to " << Litr * 159 << " barylek i " << Litr * 3,78 << "galonow."; )

||=== 构建:在 aeiou 中调试(编译器:GNU GCC 编译器)===| C:\Users*file loaction*\main.cpp|16|错误:'int'和'const char [9]'类型的无效操作数到二进制'operator<<'| ||=== 构建失败:1 个错误,0 个警告(0 分钟,0 秒)===|

不明白哪里出了问题以及编译器试图告诉我什么。

【问题讨论】:

  • 使用十进制点,而不是十进制逗号。
  • 它起作用了,有点愚蠢的问题,我应该删除它吗?
  • 是的,你可以删除它。

标签: c++ switch-statement operator-keyword cout


【解决方案1】:

您在 3,78 中有一个逗号应该是 3.78

根据您的代码,请在此处查看 example

【讨论】:

    【解决方案2】:

    在这种情况下,它们是简单的语法错误。当您必须在 C++ 中表示十进制数时,您必须使用“.”。而不是“,”。还有一个问题是输入中没有询问要执行的命令,而是插入了一个简单的cin。

    #include <iostream>
    
    using namespace std;
    
    int main() {
        int opcja;
        
        cout << "Konwerter: ";
        cin >> opcja;
        
        switch(opcja) {
            case 1: {
                float Litr;
                cout << "Litr na barylke amerykanska i galon amerykanski" << endl;
                cin >> Litr;
                cout << Litr << " litrow to " << Litr * 159 << " barylek i " << Litr * 3.78 << "galonow.";
                break;
            }
        }
    
        return 0;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-03
      • 1970-01-01
      • 2011-11-25
      相关资源
      最近更新 更多