我的一些基類獲取大量參數。現在我想指定要使用的靜態函數:在不指定參數的情況下使用基類的靜態函數以避免模糊
template <typename... Types>
struct SBase {
static void func() {
}
};
struct A : public SBase<int> {
};
struct B : public A, public SBase<int, double, short,
unsigned int, float, unsigned char, long, unsigned long> {
// using SBase::func; // Not possible.
// Horrible, but works.
using SBase<int, double, short,
unsigned int, float, unsigned char, long, unsigned long>::func;
};
阿蘇你可以看到,我需要寫兩次模板參數導致代碼重複。
有什麼辦法擺脫它嗎?
IMO,非模板類最清潔的解決方案。 – hpohl
'使用B_SBase = SBase
damienh