菜鸟求教C++问题
#include <iostream>
using namespace std;
int main()
{
int i=3,j=5;
swap(i,j);
cout<<i<<","<<j<<endl;
return 0;
}
void swap(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
为什么调用函数放在函数定义之前,不用对函数声明还是对的?
书上说明了,如果调用函数在函数定义之前,则声明是必须的啊!
而且在 主函数里面声明后,所得结果反而错了,但是在主函数外面声明对了。
#include <iostream>
using namespace std;
void swap(int &a,int &b);
int main()
{
int i=3,j=5;
swap(i,j);
cout<<i<<","<<j<<endl;
return 0;
}
void swap(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
各位大神求解啊??
[解决办法]
好问题,我认为是因为std 里面有别人定义好的函数swap,比如你将你写的swap改名为swap1,就不能先使用,然后声明了。
[解决办法]
第一个你把swap改成sswap试试,C++里面swap是库函数,你后面swap函数不要都行
int main(){int i=3,j=5;sswap(i,j);cout<<i<<","<<j<<endl;return 0;}void sswap(int &a,int &b){ int temp; temp=a; a=b; b=temp;}