C++的问题?
voidf1(){intf2(){}}intmain(){f1();f2();return0;}函数这样写可以吗?...
void f1()
{
int f2()
{
}
}
int main()
{
f1();
f2();
return 0;
}
函数这样写可以吗? 展开
{
int f2()
{
}
}
int main()
{
f1();
f2();
return 0;
}
函数这样写可以吗? 展开
1个回答
展开全部
1、函数在使用前,必须先声明,所谓声明也就是告诉编译程序函数的名称是什么、有多少个参数,参数的类型是什么、这个函数返回的数据类型是什么等等,好让编译程序为执行这个函数做准备。一般在C++中声明函数采取如下形式:
返回类型 函数名称(参数类型 参数名称,……);
注意后面的“;”号,表示函数声明完毕。
2、为了让编译程序执行函数,还需要定义函数,所谓定义函数,实际就是函数的具体代码,就如你上面提及的void f1() {...}这种形式,编译程序在遇到调用f1()函数时,会执行定义的代码。
3、在C++函数声明和函数定义可以结合在一起,就如你的f1()函数放在最前面,既完成了声明也完成定义两个步骤。
4、每个函数内,所声明、定义的变量、函数可称为局部变量(函数),他们具有一定的作用域,即只在声明处所在的模块(即大括号内)内有效,如果超出模块区域外,则该变量、函数自动“销毁”,外部不能调用其他模块内声明、定义的变量或函数。
5、在你的代码中,f1()内部声明并定义了一个f2()函数,这个f2()函数只在f1()内有效,对外界是不可知的。
6、main()函数内调用f2()时,编译器找不到f2()的声明和定义,会出现一个编译错误。
返回类型 函数名称(参数类型 参数名称,……);
注意后面的“;”号,表示函数声明完毕。
2、为了让编译程序执行函数,还需要定义函数,所谓定义函数,实际就是函数的具体代码,就如你上面提及的void f1() {...}这种形式,编译程序在遇到调用f1()函数时,会执行定义的代码。
3、在C++函数声明和函数定义可以结合在一起,就如你的f1()函数放在最前面,既完成了声明也完成定义两个步骤。
4、每个函数内,所声明、定义的变量、函数可称为局部变量(函数),他们具有一定的作用域,即只在声明处所在的模块(即大括号内)内有效,如果超出模块区域外,则该变量、函数自动“销毁”,外部不能调用其他模块内声明、定义的变量或函数。
5、在你的代码中,f1()内部声明并定义了一个f2()函数,这个f2()函数只在f1()内有效,对外界是不可知的。
6、main()函数内调用f2()时,编译器找不到f2()的声明和定义,会出现一个编译错误。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询