3 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果沒(méi)有顯式地專門化包含類,就不能專門化成員函數(shù)。
但是,您可以做的是向前調(diào)用部分專用類型的成員函數(shù):
template<class T, class Tag>
struct helper {
static void f(T);
};
template<class T>
struct helper<T, tag1> {
static void f(T) {}
};
template<class T>
struct C {
// ...
template<class Tag>
void foo(T t) {
helper<T, Tag>::f(t);
}
};

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
我知道這可能無(wú)法滿足您的要求,但是我不認(rèn)為您可能沒(méi)有在非明確的專業(yè)結(jié)構(gòu)中包含專業(yè)化知識(shí)。
template<>
template<>
inline void C< tag1 >::foo< tag2 >( t_type ) {}
- 3 回答
- 0 關(guān)注
- 542 瀏覽
添加回答
舉報(bào)