| | | | | |

Test Drive 3 - disambiguate overloads

void TestFunction (int i); // overload prototype
int main()
{
  // Functor<void, TYPELIST_2(int, double)> cmd(TestFunction); ambiguous
  typedef void (*TpFun)(int, double); // convenience defn of TpFun
  // method 1: assignment
  TpFun pF = TestFunction;
  Functor<void, TYPELIST_2(int, double)> cmd1(pF);
  cmd1(4, 4.5);
  // method 2: cast
  Functor<void, TYPELIST_2(int, double)> cmd2(static_cast<TpFun>(TestFunction));
  cmd2(4, 4.5);
}

| | Top of Page | 8. Generalized Functors - 14 of 26