Why does this code:
class A { public: explicit A(int x) {} }; class B: public A { }; int main(void) { B *b = new B(5); delete b; }
How about using a template function to bind all constructors?
template Derived(T... t) : Base(t...) {}