У меня есть пул задач, использующий потоки, которые пытаются вызвать boost :: function, которая оказывается чисто виртуальной, без реализации.
Есть что-нибудь подобное?
void doStuff(boost::function<void()> foo)
{
if (!foo.pure_virtual)
{
foo();
}
}
Замечания: Это не то же самое, что foo.empty
или же if (foo) { }
, .empty
Похоже, API не обнаруживает чисто виртуальность метода.
Вы не можете обнаружить это, и вы не должны иметь это там во-первых!
Других решений пока нет …