From: "Duane Murphy"
Is there a syntax for making boost::bind bind to functions that are templates?
No. The reason is that a function template is not a function. It is an entity that can generate functions. You can't pass the name of a function template as an argument.
Here is an (extremally simplified) example that doesnt compile:
#include
template < class Function > void f( Function func ) { func( 46 ); }
void g( int num ) { num++; }
int main( void ) { boost::bind( f, g )(); boost::bind( f, _1 )( g );
return 0; }
The two bind lines in main both get an error "call of non-function".
Is there a way to make this work?
Yes, use a function object:
#include