我有一個模板類,我正在創建自定義對象。它看起來有點像這樣。將const引用傳遞給使用自定義對象的模板類
template<typename T1,typename T2>
class myClass
{
public:
myClass(const T1 ¶m1, const T2 ¶m2);
}
template<typename T1, typename T2>
myClass<T1,T2>::
myClass
(const T1 ¶m1, const T2 ¶m2)
{
T1.customFunction(); //doesn't compile
}
因此,我希望這個隨時模板類是用來誰使用它是負責確保該組別爲T1有一個名爲customFunction功能的人()。足夠公平的問題是,customFunction在編譯時必須保證是const,因爲它在一個常量參數(param1)上被調用,但如果T1本質上是一個虛擬類,怎麼可能這樣呢?