没有运算符匹配这些操作数;操作数类型为:std :: istream >> const char [5]

时间:2019-06-07 15:28:37

标签: c++

我是编码的新手(从昨天开始),我正在尝试执行此操作,以便在键入特定内容时获得自定义输出。

#include <iostream>

using namespace std;

int main()
{

    if (cin >> "test") {

        cout << "test2";
    }

    system("pause");
    return 0;
}

C ++没有运算符匹配这些操作数,操作数类型为:std :: istream >> const char [5]

4 个答案:

答案 0 :(得分:2)

您的代码中存在语法错误。在fileStream_中,您正在声明if test case。但这是错误的。

如果要测试用户输入,则需要创建一个变量,并使用cin >> "test"读取该变量。然后,在测试用例中使用该变量。会是这样的:

cin >> variable

答案 1 :(得分:1)

您正在尝试将输入读取为字符串文字。

如果要在输入字符串test2的情况下输出字符串test,请执行以下操作

#include <iostream>
#include <string>
using namespace std;

int main() {
    string s;
    cin >> s;
    if (s == "test") {

        cout << "test2";
    }

    system("pause");
    return 0;
}

答案 2 :(得分:0)

只需添加头文件 #include<string> 希望对您有帮助。

答案 3 :(得分:0)

std::cin是在变量(或某些变量)中输入内容,而不是检查输入的内容是否与您想要的相同。如果要执行此操作,请在std::string变量中输入内容,然后使用if进行检查。

赞:

std::string str;
std::cin >> str;
if (str == "something") {
    //do something
}