首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-01-28 
新手C++引用问题求解释?#includeiostreamusing namespace stdint main(){void swap(int &,int &)int i

新手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 &amp;,int &amp;);int main(){    int i=3,j=5;    swap(i,j);    cout<<"i= "<<i<<" j= "<<j<……

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

热点排行