Say I have a function as follows:
template< typename t_packet >
void Subscribe( boost::function<void (t_packet const&)> func )
{
// gSignal is a boost::signal somewhere. Assume valid.
gSignal.connect( func );
}
And in some other function, I invoke Subscribe() as follows:
void MyCallback( WalkPacket const& p )
{
}
void MainTest()
{
Subscribe( &MyCallback );
}
The code above will actually not compile, since the template parameter t_packet cannot be deduced. Is there a way I can make the template deduction work?