1
クラスが特定の型でインスタンス化されている場合にのみ使用できる1つの関数を作成できますか? (そのタイプのクラス全体を書き直すことなく)ジェネリッククラスの1つのタイプで使用可能な関数を持つことができますか?
クラスが特定の型でインスタンス化されている場合にのみ使用できる1つの関数を作成できますか? (そのタイプのクラス全体を書き直すことなく)ジェネリッククラスの1つのタイプで使用可能な関数を持つことができますか?
私があなたが何をしているのか分かっているなら、1つの可能性は、他の関数を含む基本クラスを使用し、その基本クラスは、特別な機能を追加しています。
struct X {
int x() { return 1; }
};
template<class T>
struct Y : public X {
};
template<>
struct Y<int> : public X {
int y() { return 2; }
};
int main() {
Y<long> y;
y.x();
Y<int> z;
z.y();
return 0;
}
はい、 'std :: enable_if <>'を参照してください。 – ildjarn