Альтернативное решение было бы.
std::string numbers = "123334 33335 54544";
std::istringstream iss(numbers);
std::vector<int> int_numbers;
std::transform(std::istream_iterator<std::string>(iss),
std::istream_iterator<std::string>(),
std::back_inserter<std::vector<int> >(int_numbers),
boost::lambda::bind(&boost::lexical_cast<int, std::string>, boost::lambda::_1)
);
Но тогда вам нужно лямбда-и лексическое приведение из библиотеки повышения.