有如下函數(shù)模板定義: templateT2plus(T1t1,T3t3){returnt1+t3;} 則以下調(diào)用正確的是( )。
有如下函數(shù)模板定義: templateT2plus(T1t1,T3t3){returnt1+t3;} 則以下調(diào)用正確的是( )。
A.plus(3,5L);
B.plus(3,5L);
C.plus(3,5L);
D.plus(3,5L);
正確答案:DD。【解析】C++中對函數(shù)模板的調(diào)用有時候只使用了函數(shù)實(shí)參,而沒有使用模板實(shí)參,模板實(shí)參都被省略了,但模板實(shí)參的省略并不是必然的,而是有條件的:從模板函數(shù)實(shí)參表獲得的信息有矛盾;需要蕕得特定類型的返回值,而不管參數(shù)的類型如何;虛擬類型參數(shù)不出現(xiàn)在模板函數(shù)的形參中;函數(shù)模板含有常規(guī)形參。題中定義的函數(shù)模板中虛擬類型參數(shù)T2沒有出現(xiàn)在模板數(shù)的形參列表中,所以在調(diào)用時不能省略,D選項(xiàng)的調(diào)用省略了T3,這是允許的。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。