1
是否以任何方式將模板的typename參數放入函數名稱中。 例如:將typname插入模板函數名稱
template<typename T>
class MyTemplate {
public:
void my[T]Something();
};
MyTemplate<MyThingy> something;
somethng.myMyThingySomething();
是否以任何方式將模板的typename參數放入函數名稱中。 例如:將typname插入模板函數名稱
template<typename T>
class MyTemplate {
public:
void my[T]Something();
};
MyTemplate<MyThingy> something;
somethng.myMyThingySomething();
模板專業化應該爲你解決這個問題。
只需將myMyThingySomething()
替換爲mySomething<MyThingy>()
,並明確定義類型MyThingy
的mySomething
的專用性。
試過這個,我得到這些編譯器錯誤: 錯誤expedted';'在成員聲明的末尾 錯誤變量或字段'mySomething'聲明爲無效 錯誤期望在'<'令牌 –
之前出現unqualified-id而未看到您的代碼,因此很難確定問題os。請參閱此頁以獲取有關模板專業化如何工作的信息:http://en.cppreference.com/w/cpp/language/template_specialization –