Ваш код очень неясен, но кажется, что вы хотите настроить массив задач, а затем выполнить их все.
Вы можете использовать boost :: function для создания каждой функции и иметь коллекцию (vector) из них.
Затем вызовите каждую функцию.Что-то вроде:
typedef boost::function< void (void) > func_type;
std::vector< func_type > funcs;
// populate funcs,
std::for_each( funcs.begin(), funcs.end(), boost::bind(&func_type::operator(),_1) );
должно работать.(Там может быть более простая конструкция)
Вы используете больше boost :: binds для создания своей коллекции "funcs".Функции не должны принимать никаких параметров, они могут принимать int, как вам требуется.Вы передаете это при привязке, например:
funcs.push_back( boost::bind( &B::function, b, i ) );
, где "b" - это экземпляр b, а i - это параметр, который он принимает как int.