title: assign a compatible function address to an operator overloaded function
body: <p>I suppose that the definition of a function is like assigning to the left part e.g. int f(int x) the right part that contains the code between braces id est: { ... code ... }.</p>
  
  <p>So I would like to assign the address of an already defined function to an overloaded operator.
  I do not define at once the overloaded operator because the defined function (in the real life case) is a templated function depending from a boolean parameter.</p>
  
  <p>An example of code that I would like to be able to compile is bellow.
  Is that possible somehow ? ( without defining the overloaded operator as a single statement call to the function )</p>
  
  <pre><code>    struct CNT{
          int c;
      };
  
      CNT addCNT(CNT a,CNT b){
          CNT r;
          r.c = (a.c&lt;=b.c) ? a.c : b.c ;
          return r;
      }
  
  
  //  CNT operator+(CNT a,CNT b){addCNT(a,b);}
  
      CNT operator+(CNT,CNT)=&amp;addCNT;
  
  
      int main(int argc, char **argv)
      {
          CNT a(10),b(20),c;
          c=a+b;
      }
  </code></pre>