Я безуспешно пытаюсь использовать boost :: bind with boost :: factory
У меня есть этот класс Zambas с 4 аргументами (2 строки и 2 числа) и
class Zambas {
public:
Zambas(const std::string&, const std::string&,int z1=0,int z2=0) {
if (z1==z2){
}
}
};
внутри другого метода у меня есть следующий вызов
boost::function<Zambas*()> f(boost::bind(boost::factory<Zambas*>(), std::string(""), std::string(""),_1,_2));
, который завершается с ошибкой следующего компилятора:
bind.hpp:382: error: no match for ‘operator[]’ in ‘a[boost::_bi::storage3<A1, A2, boost::arg<I> >::a3_ [with A1 = boost::_bi::value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, A2 = boost::_bi::value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int I = 1]]’
Что я делаю неправильно?