title: compile-time conditional member function call in C++
body: <p>I have a template class for which certain member functions only make sense if the template parameters satisfy certain conditions. Using, for instance, <code>std::enable_if&lt;&gt;</code> I can define them only for these cases, but how can I call them conditionally? Here is a brief example</p>
  
  <pre><code>template&lt;class T&gt; class A
  {
     typename std::enable_if&lt;std::is_floating_point&lt;T&gt;::value&gt;::type a_member();
     void another_member()
     {
       a_member(); // how to restrict this to allowed cases only?
     }
  };
  </code></pre>