2
私は、いくつかの実装されたメソッドといくつかの仮想メソッドを持つ、テンプレート化されたインターフェイスクラスを持っています。ディレクティブと部分的な特殊化の使用
いくつかのメソッドのシグネチャを変更するには、そのメソッドを特化する必要がありますが、それ以外は同じままです。
using
ディレクティブを使用して元のテンプレートと同じメソッドを戻す方法がありますか、直接コールバックするか、別の方法でコピーする必要があります。専門化?
template <typename T>
struct X {
void faa(T t) const { std::cout << t << '\n'; }
void foo() const { std::cout << "foo\n"; }
};
template <>
struct X<void> {
void faa() const { std::cout << "none\n"; }
// Something along these lines
// using X<T>::foo;
// void foo() const { X<T>::foo(); }
};