本页目录
6.4 函数的声明
发布时间:
1. 基本格式
函数声明的核心是 “返回值类型 + 函数名 + 参数列表 + 分号”,格式如下:
// 格式:返回值类型 函数名(参数类型列表);
返回值类型 函数名(参数类型1, 参数类型2, ...);
int add(int a, int b);
// 也可以写参数名(可选,编译器忽略,但可读性更好)
返回值类型 函数名(参数类型1 参数名1, 参数类型2 参数名2, ...);
int add(int, int);
js
#include<iostream>
using namespace std;
// 函数声明(只告诉编译器函数的“接口”)
int add(int a, int b); // 参数名a/b可选,
int add(int, int);//也可以
int main() {
// 调用函数(此时编译器通过声明知道add的用法,能通过编译)
cout << add(3, 5) << endl; // 输出8
return 0;
}
// 函数定义(给出函数的具体实现)
int add(int a, int b) {
return a + b;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
2. 声明的位置:必须在调用之前
js
#include<iostream>
using namespace std;
// 函数声明(只告诉编译器函数的“接口”)
int add(int a, int b); // 参数名a/b可选,写成int add(int, int);也可以
int main() {
// 调用函数(此时编译器通过声明知道add的用法,能通过编译)
cout << add(3, 5) << endl; // 输出8
return 0;
}
// 函数定义(给出函数的具体实现)
int add(int a, int b) {
return a + b;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
3. 声明和定义的 “匹配规则”
函数声明必须和定义严格匹配,否则编译 / 链接报错,匹配维度包括:
返回值类型一致; 函数名一致; 参数列表一致(参数类型、个数、顺序都要一致,参数名可不同)。
错误样例
js
// 声明:参数是int, int
int add(int a, int b);
// 定义:参数是int, double(类型不匹配)→ 链接报错
int add(int a, double b) {
return a + b;
}
1
2
3
4
5
6
2
3
4
5
6