【发布时间】:2013-11-09 05:31:19
【问题描述】:
我正在尝试在我的函数中输入一个值,如下所示:
int funkcija( std::istream & in ) {
int value(0);
in >> value;
if(not in) throw std::exception();
if( value%2 == 0 ) {
return (value/2);
}
else return (value*3)+1;
}
当我尝试运行它时:
int i(0);
std::cout << "Input a number: ";
std::cin >> i;
funkcija(i);
我收到一个错误: ..\working.cpp:17:14:错误:从“int”类型的表达式中对“std::istream& {aka std::basic_istream&}”类型的引用进行无效初始化 ..\working.cpp:7:5: 错误:在传递 'int funkcija(std::istream&)' 的参数 1 中
这是什么意思以及如何解决?谢谢!
【问题讨论】:
-
不应该是
i = funkcija(cin);吗???