Это выглядит неправильно.Ваша функция-член все еще принимает один аргумент.Итак, вам нужен заполнитель, или вы забыли связать this
threadpool.schedule( bind(
static_cast< MyClass (MyClass::*)(const MyClass &arg )>(&MyClass::operator[]),
this, arg ) )
operator[]
, который принимает тип своего класса, хотя выглядит немного странноВот пример того, как должен выглядеть «обычный» подстрочный оператор
threadpool.schedule( bind(
static_cast< MyClass (MyClass::*)(std::size_t)>(&MyClass::operator[]), this, index )
);