Я пытаюсь передать AnsiString(someStr).c_str()
в boost::split()
второй аргумент, но он отрицает отсутствие несоответствия аргументов !!boost :: split argument mismatch
здесь сниппет
vector<std::string> sVec;
boost::split(sVec,AnsiString(response).c_str(),boost::is_any_of(" "));//err in this line
ShowMessage(sVec[1].c_str());
однако
подталкивание :: Раскол код (Швец, "Это тест", повышение :: is_any_of (»«));
хорошо работает!
Я делаю правильное преобразование AnsiString в c string type ???
К сожалению, ни одно из них не работает! Не совпадает ! '[Ошибка BCC32] Unit1.cpp (25): E2285 Не удалось найти соответствие для 'boost :: algorithm :: split <> (vector>, const char *, boost :: algorithm :: detail: : is_any_ofF ) Полный контекст анализатора Unit1.cpp (22): синтаксический анализ: void _fastcall TForm1 :: Button1Click (TObject *) ' –
Разрешение шаблона, по-видимому, не учитывает неявный конструктор. Когда вы говорите «ни одна работа», вы имеете в виду, что даже явный вызов конструктора приводит к той же ошибке? Это было бы странно, поскольку в этом случае нет никакой двусмысленности. –
Да, конечно! Фредерик! Оба дают ошибку! –