Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 0.58 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. C. Function pointer callback. Incompatibility with prototype.
  2. int (*callback)(void)
  3.        
  4. int (*callback)(unsigned, ...)
  5.        
  6. template <typename T>
  7. int mycallback(unsigned amount, ...){
  8.   int i;
  9.   T val;
  10.   va_list vl;
  11.   va_start(vl,amount);
  12.   for (i=0;i<amount;i++){
  13.     val+=va_arg(vl,T);
  14.   }
  15.   va_end(vl);
  16. };
  17.  
  18. template <typename T>
  19. int function_root(int var1, int var2, int(*callback)(unsigned, ...)<T>, unsigned amount, ...){
  20.   if (var1 == var2)
  21.     return callback<T>(amount, ...);
  22. };
  23.        
  24. int (*callback)()
  25.        
  26. int foo(int a, int b, int c)
  27. {
  28.     return 0;
  29. }
  30.  
  31. int (*callback)() = foo;