本文主要是介绍C++ //练习 6.41 下面的哪个调用是非法的?为什么?哪个调用虽然合法但显然与程序员的初衷不符?为什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C++ Primer(第5版) 练习 6.41
练习 6.41 下面的哪个调用是非法的?为什么?哪个调用虽然合法但显然与程序员的初衷不符?为什么?
char *init(int ht, int wd = 80, char bckgrnd = ' ');
(a) init(); (b) init(24, 10); (c) init(14, '*');
环境:Linux Ubuntu(云服务器)
工具:vim
解释
char *init(int ht, int wd = 80, char bckgrnd = ' ');
(a) //非法,函数第一个参数没有默认值,必须要实参传递。init();
(b) //合法,函数的前两个形参是用实参值,最后一个使用默认值。init(24, 10);
(c) //合法,但初衷不符,第二个实参转换为int型,但实际意图是第二个实参要传递给第三个形参。init(14, '*');
这篇关于C++ //练习 6.41 下面的哪个调用是非法的?为什么?哪个调用虽然合法但显然与程序员的初衷不符?为什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!