テンプレートには、特定のテンプレート タイプに対してのみ有効な関数がいくつかあります。GCC はこれに満足しているようですが、有効かどうかはわかりません。典型的な SFINAE とは異なり、関数自体はテンプレートではありません。
template<typename T>
struct generic {
T item;
void get_limited() {
item.limited();
}
};
を呼び出さないというget_limited
条件で、このクラスを実装しない型でインスタンス化しても問題ありませんlimited
か?
いいえの場合、どうすればこれを解決できますか? 保存している割り当てに基づいて特定の機能が有効になる汎用コンテナー クラスがあります (上記のように型に直接ではなく、テンプレート パラメーターのままです)。