我正在使用 CRTP,并且基类具有模板功能。如何use
在模板派生类中使用该成员函数?
template <typename T>
struct A {
int f();
template <typename S>
int g();
};
struct B: public A<B> {
int h() { return f() + g<void>(); } // ok
};
template <typename T>
struct C: public A<C<T>> {
// must 'use' to get without qualifying with this->
using A<C<T>>::f; // ok
using A<C<T>>::g; // nope
int h() { return f() + g<void>(); } // doesn't work
};
* 编辑 * 一个较早的问题,Using declaration for type-dependent template name(包括注释)表明这是不可能的,并且可能是标准中的疏忽。