c++ - How to pass pointer to template function to another function -


i got pointer function:

template<typename t> struct f {     typedef bool( *type)( t, t ); };  template <typename t> bool mniejsze (t pierwszy , t drugi){     if( pierwszy < drugi)         return true;     return false; } 

then define function minamax

 template <typename t>  t minmax(t a[], int n,bool, bool (*f.type)(t,t)){     return f(a[0],a[1]);  } 

then want pass function minmax

  f<int>::type  f1 = mniejsze<int>;     cout<<f1( 3, 4)<<endl;;     int t[] = {1,2,3,4,5,6,7,8,9,10};     int n  = 10;     minmax(t,n,*f1); 

but get:

c:\documents , settings\duke\moje dokumenty\andrzej1\adsadasd\main.cpp|57|error: expected ',' or '...' before '.' token| c:\documents , settings\duke\moje dokumenty\andrzej1\adsadasd\main.cpp||in function 'int main()':| c:\documents , settings\duke\moje dokumenty\andrzej1\adsadasd\main.cpp|72|error: no matching function call 'minmax(int [10], int&, bool (&)(int, int))'| c:\documents , settings\duke\moje dokumenty\andrzej1\adsadasd\main.cpp|68|warning: unused variable 'f2'| ||=== build finished: 2 errors, 1 warnings ===| 

template<typename t> t minmax(t a[], int n, bool b, typename f<t>::type fp ){      if ( fp( a[0], a[1])) return 1;     return -1; }  int main() {     // code goes here     f<int>::type  f1 = mniejsze<int>;     bool b = f1( 3, 4);     int a[] = { 3, 4};     std::cout << minmax<int>( a, 0, 0, f1);     return 0; } 

http://ideone.com/dh2een


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -