Я пытаюсь удалить библиотеки boost из своего кода. У меня нет std::function, и я работаю с С++ 98, а не с С++ 11. Мне все еще нужно хранить вектор простых void Funcs()
из разных классов.
Я использую простой шаблон для получения класса и экземпляра функции. Но я хотел бы заменить потребность в boost::function и boost::bind.
class App
{
public:
App();
template<class T>
static void AddLoopFunc(void (T::*func)(), T* instance)
{
loop_funcs.push_back(boost::bind(func, instance));
}
static std::vector< boost::function<void()> > loop_funcs;
};
добавление функции в цикл
App::AddLoopFunc(&MyClass::Loop, this);
this
? Звонок изнутриMyClass
? Предоставьте минимальный воспроизводимый пример - person 463035818_is_not_a_number   schedule 30.01.2018bind
иfunction
. Если ваша проблема не связана с лицензией, которую использует boost, вы можете просто создать производную работу из соответствующей заголовки и используйте их - person Caleth   schedule 30.01.2018