6.49:什么是候选函数?什么是可行函数?

Ans:候选函数是在重载函数集合中,满足函数名字与被调函数相同,并且其声明在函数调用点可见的函数。而可行函数是指在候选函数中,满足形参与实参的个数一一对应,并且实参的类型与形参相同,或者可以转换成形参类型的函数。

6.50:已知有第217页对函数f的声明,对于下面的每一个调用列出可行函数,其中哪个函数是最佳匹配?如果调用不合法,是因为没有可匹配的函数还是因为调用具有二义性?

(a)f( 2.56 , 42)  (b)f(42)  (c)f(42,0)  (d)f( 2.56, 3.14 )

Ans:a)调用不合法。因为调用具有二义性,不管是void f(int,int);还是void f(double , double);都在其各自的实参上实现了更好的匹配。

     b)调用合法。最佳匹配的函数是void f(int);

   c)调用合法。最佳匹配的函数是void f( int , int );

   d)调用合法。最佳匹配的函数是void f( double ,double);

 

 posted on 2018-08-17 16:40  linlh  阅读(109)  评论(0编辑  收藏  举报