预测下列C++程序的输出。
null
1)
#include <iostream> void init( int a=1, int b=2, int c=3); int main() { init(); return 0; } void init( int a=1, int b=2, int c=3) { std::cout << a << ' ' << b << ' ' << c; } |
上述程序乍一看是正确的,但编译失败。如果函数使用 默认参数 那么默认参数不能同时写入函数声明和定义中。它应该只是在声明中,而不是在定义中。
下面的程序现在是正确的。
#include <iostream> void init( int a=1, int b=2, int c=3); int main() { init(); // It is fine return 0; } void init( int a, int b, int c) { std::cout << a << ' ' << b << ' ' << c; } |
2)
#include <iostream> // something looks missing void init( int =1, int =2, int =3); int main() { init(); return 0; } void init( int a, int b, int c) { std::cout << a << ' ' << b << ' ' << c; } |
如果你仔细观察函数原型,它看起来像一个错误,但实际上不是。默认参数中可以省略变量名。
本文由 普拉瓦西会面 。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请发表评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END