我有這樣一類參數轉發:對於沒有參數的情況下
template <typename T1> A(T1 t1) : T(t1) {}
template <typename T1, typename T2> A(T1 t1, T2 t2) : T(t1, t2) {}
// ho, hum, copy, paste, yuck.
// ....
所有的好:
template<class T> class A : public T {
// this is done to wrap the base class version of a virtual function
virtual void F(int i) {
if(i < 0) T::F(-i);
else T::F(i);
}
//...
需要被constructible任何一組參數的個數的基類可以與構建但對於默認構造函數:
template <> A() : T() {}
不編譯
A() : T() {}
如果T沒有默認構造函數,即使未調用A(),也會失敗。
}
有沒有一種方法,使A()
模板沒有任何ARGS?
Bazaar,我可以得到你的結果,現在...然後導致下一個問題,你如何強制實例化方法,但這是一個不同的問題。 – BCS 2010-09-14 14:56:04