Я видел несколько примеров, которые показывают, как использовать split_iterator, но Visual Studio 2012 показывает мне эту ошибку:
Error: argument for class template "boost::algorithm::split_iterator" is missing
Это мой код:
...
#include "boost/algorithm/string/iter_find.hpp"#include "boost/algorithm/string/finder.hpp"
...
const std::string sintactic_production_rule_representation[] =
{
...
"P → B eol P",
"P → F eol P",
...
}
...
for(int i = 0; i < N_PRODUCTIONS_SINTLL; i++)
{
std::vector<std::string> splittedProduction;
boost::split_iterator(
splittedProduction,
sintactic_production_rule_representation[i],
boost::first_finder("→")
);
}
Я извлек iter_find.hpp
а также finder.hpp
и зависимости в файлах ресурсов с помощью инструмента boost bcp.
Я тоже пробовал boost::split_iterator<std::string>(...)
получение аргументов не соответствует ошибке.
Я пытаюсь использовать неправильную функцию повышения. Как ответили в https://stackoverflow.com/a/15789561/3153012 я могу использовать split_regex
разделить с одним или несколькими символами.
Других решений пока нет …