错误:"'运营商<<<' (操作数类型是std :: istream)

时间:2016-04-09 14:56:08

标签: c++ c++11

这是我的第一个StackOverflow,很高兴加入。 我目前正在使用Stroustrup"使用C ++进行编程和练习来学习C ++"现在我们正在使用他创建的库(#include" std_lib_facilities.h")

我完成了一次练习并得到了这个错误 "不匹配'运营商<<' (操作数类型是std :: istream)"

我写的程序可能还不完美,但我现在甚至无法编译它。我在其他帖子中读到过关于"重载运算符"但是我不明白这意味着什么,特别是为什么在我的其他文件中,即使加载了相同的库也不会发生这种情况。

#include "../../std_lib_facilities.h"

int main()
{
    double val1 = 0;
    double val2 = 0;

    cin << val1 << val2 << endl;

    if (val1>val2)
        cout << val1 << " is larger than " << val2 <<endl;
    else
        cout << val1 << " is smaller than " << val2 <<endl;

}

2 个答案:

答案 0 :(得分:1)

您应该将operator>>std::cin一起使用,这是std::istream并且不支持operator<<

std::cin >> val1 >> val2;

答案 1 :(得分:1)

您应该使用&gt;&gt;运算符用于在c ++中输入。这称为提取运算符,用于从键盘或其他类似文件中获取值。语法是:

int variableName;

cout << "Enter number";
cin >>  variableName;

<强>&LT;&LT; operator 是插入操作符,用于在屏幕或文件上写入数据。