1.main函数可以递归吗?
g++,vs2010是可以的
2.int main()
{ static int a=5; while(--a > 0){ cout << "before" << a << endl; main(); cout << "after" << a << endl; }}输出结果是
int main()
{ static int a=5; while(a-- > 0){ cout << "before" << a << endl; main(); cout << "after" << a << endl; }}输出结果是
3.函数默认参数值
int add(int x=5);和int add(int =5);声明效果是一样的
int add(int x=5){
...
}函数实现部分这样写也是一样的
调用的时候
add()和add(10)分别调用默认参数值和自定义值
注意:当有多个参数的时候,如
int add(int a,int b,int c)
只有给c赋值了,才可以给b赋值,想给a赋值,必须b和c都赋值了
原因是缺省调用的时候不会产生歧义
4.函数重载的问题
函数重载必备的要求:
参数类型和参数个数至少一个必须不同,对于返回值没要求
如果只有返回值不同,编译器会报错的