3
可有人請告訴我如何做以下僞代碼GCC4兼容?我不知道它是如何工作的下MSVC ...太少模板參數列表問題
typedef int TypeA;
typedef float TypeB;
class MyClass
{
// No base template function, only partially specialized functions...
inline TypeA myFunction<TypeA>(int a, int b) {} //error: Too few template-parameter-lists
template<> inline TypeB myFunction<TypeB>(int a, int b) {}
};
非常感謝!我害怕我必須實現基本模板功能... – Ryan 2011-05-17 11:55:02
@Ryan:只要從未使用過,您不需要實現它。如果某些代碼嘗試使用除double或int之外的模板參數調用該函數,它將進行編譯(該聲明存在),但它將無法鏈接(對於非專用模板沒有定義)。此外,由於只有兩種實例化類型,您可以將特化移至單個翻譯單元並手動實例化它們(不要忘記向該函數添加註釋,以便其他人知道您只能將該模板與兩種類型!) – 2011-05-17 12:59:46
感謝澄清,大衛!我很抱歉問這麼多,但是你能否告訴我,在模板功能的情況下如何解決這類問題?如果我定義一個全局命名空間的模板函數和幾個專門的功能,我得到了專業化的......經過實例化「的錯誤... – Ryan 2011-05-17 13:13:45