使用assignmnet运算符的Cin表达式

时间:2016-08-19 11:20:59

标签: c++

我正在尝试学习c ++,并且在我的代码

中使用action="@Url.Action("ExportData","MyController")"时遇到了困难

cin

int input; vec.push_back(cin>>input);

有人可以指导我吗?

1 个答案:

答案 0 :(得分:2)

它不起作用的原因是你不能分配一个istream&到整数。

简而言之,c ++中的运算符就像函数一样。它们得到一个参数,它位于右侧并给出一个返回值,它位于运算符的左侧并表示表达式。

运营商“>>”返回istream引用。您希望将此istream引用分配给整数,但这是不可能的。 获取整数的重载运算符是

std::istream& operator>>(int& val)

这意味着您要使用此运算符指定的值必须是参数。

int input;
std::cin >> input;
sum += input;

您可以查看here以查看运营商>>的文档在istream。

你可以再看看here,看看c ++中的重载是如何工作的。

此主题还有许多其他教程。

Google是你的朋友;)