请问boost:bind绑定多态函数的有关问题
请教boost::bind绑定多态函数的问题
假设有两个函数,声明如下:
fun(A a);
fun(B b);
A和B是两个类,这个fun都只有一个参数,知识参数类型不同...
当我是用boost::bind(fun, _1)绑定函数时,它的返回值是什么?
因为我需要这个返回类型,把它存到一个vector里面做回调...
PS:顺便问一句
我觉得这种绑定完全不知道参数类型啊...
我调用的时候是否可以用A也可以用B?回调的时候也能多态?
------解决思路----------------------
boost::bind无法满足你的这种需求。
------解决思路----------------------
static_cast
------解决思路----------------------
说的没错,boost::bind生成的boost::function里面只是单纯的存了一个函数地址,和几个绑定好的参数而已。不可能像重载那样,用同一个function调用不同的函数。
假设有两个函数,声明如下:
fun(A a);
fun(B b);
A和B是两个类,这个fun都只有一个参数,知识参数类型不同...
当我是用boost::bind(fun, _1)绑定函数时,它的返回值是什么?
因为我需要这个返回类型,把它存到一个vector里面做回调...
PS:顺便问一句
我觉得这种绑定完全不知道参数类型啊...
我调用的时候是否可以用A也可以用B?回调的时候也能多态?
------解决思路----------------------
boost::bind无法满足你的这种需求。
------解决思路----------------------
static_cast
------解决思路----------------------
说的没错,boost::bind生成的boost::function里面只是单纯的存了一个函数地址,和几个绑定好的参数而已。不可能像重载那样,用同一个function调用不同的函数。