【发布时间】:2013-10-19 00:18:55
【问题描述】:
我无法理解何时将 & 与变量一起使用。我认为它改变了该函数的范围,但由于某种原因,这段代码不起作用
void advanceTimeInMinutes(int& hours, int& minutes, int& advances)
{
if(advances >=60-minutes){
hours++;
minutes=60-minutes+advances;
}else{
minutes +=advances;
}
}
它被调用
advanceTimeInMinutes( hour, minute, 50 );
【问题讨论】:
-
“不工作”是什么意思?你得到一个错误,或者......?
-
是的,它说“无法将参数 3 从 'int' 转换为 'int&'
-
&表示引用。您不能传递对文字的引用。只需将其声明为int advances。 -
@TheWaller 文字值是文字值。喜欢
5、1.23、'c'或"foo"。 -
如果您不知道什么是文字、引用或指针,您可能想阅读一本好的 C++ 书籍:The Definitive C++ Book Guide and List