【发布时间】:2015-08-15 18:44:19
【问题描述】:
sn-p代码如下
#include <iostream>
using namespace std;
int a(int m)
{
return ++m;
}
int b(int &m)
{
return ++m;
}
int c(int &m)
{
return ++m;
}
int main(void)
{
int p=0,q=0,r=0;
p+=a(b(p));
q+=b(a(q));
r+=a(c(r));
cout<<p<<q<<r;
return 0;
}
发生的错误是在 q+=b(a(q)) 处从“int”类型的右值对“int&”类型的非常量引用进行无效初始化。如何解决该错误,以便该程序打印所需的输出
【问题讨论】:
-
请正确格式化您的代码示例!
-
b和c不一样吗? -
你想要的输出是什么?
-
实际上这是 Timothy J Williams Technical MCQs book 的问题,给出的答案是 322
-
@soul 这个答案是否包含实际编译的代码?
标签: c++ pass-by-reference