【发布时间】:2013-05-01 17:18:51
【问题描述】:
我有一个使用线程的任务池,它试图调用一个 boost::function 恰好是纯虚拟的,没有实现。
有这样的吗?
void doStuff(boost::function<void()> foo)
{
if (!foo.pure_virtual)
{
foo();
}
}
注意:这与foo.empty 或if (foo) { } 不同。 .empty API 似乎没有检测到该方法的纯虚拟性。
【问题讨论】:
-
您能否提供一个“恰好是纯虚拟的 boost::function”的具体示例?
-
您是如何设法实例化一个包含纯虚函数的类的?听起来您从不应该在的某个地方调用
doStuff()(例如,从继承层次结构中类的构造函数或析构函数中)。 -
纯虚指向 null 不?另一件事是你必须将函数绑定到一个对象,而这对于纯虚拟是不可能的
标签: c++ boost pure-virtual boost-function