為什么僅在類模板上允許使用默認模板參數?為什么我們不能在成員函數模板中定義默認類型?例如:struct mycclass { template<class T=int> void mymember(T* vec) { // ... }};相反,C ++強制僅在類模板上允許使用默認模板參數。
3 回答
偶然的你
TA貢獻1841條經驗 獲得超3個贊
引用C ++模板:完整指南(第207頁):
最初將模板添加到C ++語言時,顯式函數模板參數不是有效的構造。始終必須從調用表達式中推導函數模板參數。結果,似乎沒有令人信服的理由允許默認函數模板參數,因為默認值總是會被推導的值覆蓋。
- 3 回答
- 0 關注
- 728 瀏覽
添加回答
舉報
0/150
提交
取消
