3
如果我有一個函數重載集合類似默認參數v模板優先
template<typename T> void f(T&& t, int x = 1);
void f(int x = 0);
其中哪些將優先被稱爲如果我叫f
整數參數?例如
f(5);
如果我有一個函數重載集合類似默認參數v模板優先
template<typename T> void f(T&& t, int x = 1);
void f(int x = 0);
其中哪些將優先被稱爲如果我叫f
整數參數?例如
f(5);
void f(int x = 0);
將被調用。在重載解析期間,當參數類型完全匹配時(即不需要轉換),非模板始終優於模板。–請參閱第13.3.3節/ 1。
(請注意,如果非模板超載是不是void f(long x = 0);
和調用點保持不變,或者如果過載保持不變,但調用點是不是f(5L);
,模板過載會代替調用。)