读书人

新手C++引用有关问题求解释

发布时间: 2013-01-28 11:49:56 作者: rapoo

新手C++引用问题求解释?

#include<iostream>
using namespace std;

int main()
{
void swap(int &,int &);
int i=3,j=5;
swap(i,j);
cout<<"i= "<<i<<" j= "<<j<<endl;
return 0;
}

void swap(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}

运行结果:i,j值为什没有交换?
[解决办法]
我认为传统的写法应该是在函数外面声明局部函数吧,代码如下:
using namespace std;
void swap(int &,int &);
int main()
{
int i=3,j=5;
swap(i,j);
cout<<"i= "<<i<<" j= "<<j<<endl;
return 0;
}
void swap(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}

[解决办法]
引用:
我认为传统的写法应该是在函数外面声明局部函数吧,代码如下:
C/C++ code?12345678910111213141516using namespace std;void swap(int &,int &);int main(){ int i=3,j=5; swap(i,j); cout<<"i= "<<i<<" j= "<<j<……

正解!
vc6运行放在函数外面声明,结果是对的。
[解决办法]
VC6 有一些不规范的地方。 你在 main 函数里面声明的 swap 函数, 错误可能是函数 声明 和 定义 的作用域不同导致的。

读书人网 >C++

热点推荐