std :: cin上的参数无效>>

时间:2019-10-22 10:39:03

标签: c++

我是C ++的新程序员,所以请不要撕扯我,我只是在尝试学习。该错误都是在MS Visual Code Studio和Clang ++(我使用的编译器)中产生的

我有一个错误指向 >>到第二组 >>std::cin >> varname >> "\n";

我试图用>>替换<<,以为我有错误的运算符,但据我所知没有错误的操作。

include <iostream>
int varname;

std::cout << "Input: \n";
std::cin >> varname >> "\n";

std::cout << "This is the input: \n" >> varname >> "\n";```

2 个答案:

答案 0 :(得分:2)

您无法执行std::cin >> varname >> "\n";,因为您无法执行std::cin >> "\n";"\n"是C字符串文字,其类型为const char[2],在上述情况下,其衰减为const char*。您不必了解什么是衰减,但是必须了解,std::cin不能用它来修改const

此外,以下内容:std::cout << "This is the input: \n" >> varname >> "\n";也不起作用。如果要将多个元素发送到std::cout,请在各处使用<<-请勿将它们与>>混合使用。

总结:

  • std::cin >> varname >> "\n";-> std::cin >> varname;
  • std::cout << "This is the input: \n" >> varname >> "\n";-> std::cout << "This is the input: \n" << varname << "\n";

答案 1 :(得分:1)

  • 基本上 cin cout 是输入流和输出流 运算符。
  • cin 仅接受输入变量名称,可以是int,char,float,double等,并使用>>(提取运算符/右移运算符)

  • cout 接受输出变量名称,该名称可以是任何内置的/用户定义的运算符。并且它接受字符串常量 (这是您在双引号中写的任何内容,即 字符串常量),例如“ \ n”。并使用<<(插入运算符/左移运算符)。