下面这段程序为什么编译时出错?该怎么解决
下面这段程序为什么编译时出错?
#include <iostream>
using namespace std;
int f(int i){return ++i};
int g(int &i){return ++i};
int main()
{
int a(0),b(0);
a+=f(g(a));
b+=g(f(b));
cout < <m < < "\t " < <n;;
system( "pause ");
}
------解决方案--------------------
using namespace std;
int f(int i){return ++i;}
int g(int i){return ++i;}
int main()
{
int a(0),b(0);
a+=f(g(a));
b+=g(f(b));
cout < <a < < "\t " < <b;;
system( "pause ");
}
这样就没错了
------解决方案--------------------
#include <iostream>
using namespace std;
int f(int i)
{
return ++i;
}
int g(int &i)
{
return ++i;
}
int main()
{
int a( 0 ),b( 0 );
a += f( g( a ) );
b += g( f( b ) ); //这里不能编译通过,因为g()用引用传递参数,而f(b)是返回一个临时变量
system( "pause ");
}
------解决方案--------------------
赶紧把你那本破书扔了
#include <iostream>
using namespace std;
int f(int i){return ++i};
int g(int &i){return ++i};
int main()
{
int a(0),b(0);
a+=f(g(a));
b+=g(f(b));
cout < <m < < "\t " < <n;;
system( "pause ");
}
------解决方案--------------------
using namespace std;
int f(int i){return ++i;}
int g(int i){return ++i;}
int main()
{
int a(0),b(0);
a+=f(g(a));
b+=g(f(b));
cout < <a < < "\t " < <b;;
system( "pause ");
}
这样就没错了
------解决方案--------------------
#include <iostream>
using namespace std;
int f(int i)
{
return ++i;
}
int g(int &i)
{
return ++i;
}
int main()
{
int a( 0 ),b( 0 );
a += f( g( a ) );
b += g( f( b ) ); //这里不能编译通过,因为g()用引用传递参数,而f(b)是返回一个临时变量
system( "pause ");
}
------解决方案--------------------
赶紧把你那本破书扔了