1 问题引入
在优快云论坛上有朋友谈到以下问题,在main()函数之前并没有声明swap()函数,但是程序没有报错,并且正确完成了两个整形变量值之间的互换。代码如下所示:
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a = 3, b = 4;
swap(a, b);
cout<<"a="<<a<<",b="<<b<<endl;
return 0;
}
void swap(int a1, int b1)
{
int c;
c = a1;
a1 = b1;
b1 = c;
}
2 问题分析
2.1 函数声明
正如变量必须先声明后使用一样,函数也必须在被调用之前先声明。与变量的定义类似,函数的声明也可以和函数的定义分离,当然也可以定义的同时声明;一个