テンプレートパラメータが特定の条件を満たす場合にのみ特定のメンバー関数が意味を持つテンプレートクラスがあります。たとえば、std::enable_if<>
を使用すると、これらの場合にのみ定義できますが、条件付きで呼び出すにはどうすればよいですか?これが簡単な例です
template<class T> class A
{
typename std::enable_if<std::is_floating_point<T>::value>::type a_member();
void another_member()
{
a_member(); // how to restrict this to allowed cases only?
}
};