fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template< typename C>
  5. class Reg {
  6. public:
  7. template< typename R, typename A>
  8. void register_f( string name, R ( C:: *method_p ) ( A)) { /*registration process*/ }
  9.  
  10. template< typename R>
  11. void register_void_f( string name, R ( C:: *method_p ) ( )) { /*registration process*/ }
  12. };
  13.  
  14. class A {
  15. public:
  16. int f( void) { return 1; }
  17. void g( int x) { /* some code*/ }
  18. };
  19.  
  20.  
  21. int main() {
  22. Reg< A> r;
  23.  
  24. r.register_f( "g", &A::g);
  25. /*1*/// r.register_f( "f", &A::f);
  26. /*2*/// r.register_f< int, void>( "f", &A::f);
  27. /*3*/ r.register_void_f< int>( "f", &A::f);
  28.  
  29. return 0;
  30. }
Success #stdin #stdout 0s 3424KB
stdin
Standard input is empty
stdout
Standard output is empty