title: Is it possible to get the function pointer of a built-in standard operator?
body: <p>I want to refer to function pointers of built-in operators, but I don't know how to specify the specific type overloads.</p>
  
  <p>I have the following template class signature:</p>
  
  <pre><code>template&lt;typename ParamsType, typename FnCompareType&gt;
  class MyAction
  {
  public:
      MyAction(ParamsType&amp; arg0, ParamsType&amp; arg1, FnCompareType&amp; fnCpmpare) 
      : arg0_(arg0), arg1_(arg1), fnCompare_(fnCpmpare) {}
  
      bool operator()()
      {
          if((*fnCompare_)(arg0_,arg1_)
          {
              // do this
          }
          else
          {
              // do s.th. else
          }
      }
  
  private:
      ParamsType&amp; arg0_;
      ParamsType&amp; arg1_;
      FnCompareType&amp; fnCompare_;
  }
  </code></pre>
  
  <p>And want to use a syntax like this:</p>
  
  <pre><code>void doConditional(int param1, int param2)
  {
      MyAction&lt;int,&amp;::operator&gt;=&gt; action(param1,param2);
      if(action())
      {
          // Do this
      }
      else
      {
          // Do that
      }
  }
  </code></pre>
  
  <p>But that doesn't compile:</p>
  
  <pre><code>error: ‘::operator&gt;=’ has not been declared
  </code></pre>
  
  <p>What can I do to refer to such intrinsic static operations?</p>