函数的定义
1、函数的返回类型
函数的返回类型可是内置类型(如 int 或 double)、类类型、或复合类型(如 int& 或者 string *),还可以是void 表示不返回任何值。
例:bool is_present(int *,int );
int cout(const sting &,char );
Date &calendar(const char*);//Date为自定义类型
void process();
函数不能返回一个函数或者内置数组类型,但可以返回指向函数的指针 或者 指向内置数组元素的指针的指针。
int * count(char *ch); //这个函数返回一个int型的指针,该指针可指向数组中的一个元素。
函数必须指定返回类型 在定义或者声明函数时必须显式的制定返回类型(构造函数和析够函数除外)
2、函数形参表
函数的形参表可以为空但是不能省略。没有任何参数的函数可以用空的形参表或者含有单个关键词 void 的形参来表示。
例:
void process() { } ;
void process(void) { } ;
形参表由一系列用逗号分隔开的参数类型和(可选的)参数名组成。如果两个参数具有相同的类型,其类型还是要重复声明:
例:
int manip( int v1,v2);//error
int manip(int v1,int v2);//ok
参数表中不能出现同名的参数。类似的,局部于函数的变量也不能使用与函数的任意参数相同的名字。
参数名是可选的,但是在函数定义中通常所有的参数都要命名。参数必须在命名后才可以使用。
参数类型的检查
调用函数时,对于每一个实参,其类型必须和形参相同,或者具有可被转换为形参类型的类型。