в вижуалке
Ну ты бы хоть код показал
long FindNumber(const std::string& s) { auto it = std::find_if(std::begin(s), std::end(s), [](auto&& c) { return std::isdigit(c); }); std::size_t pos = it - s.begin(); auto ans = std::stol(s, &pos); if (pos == it - s.begin()) { throw std::invalid_argument{ "No integer in string" }; } return ans; }
И что ассерт говорит?
Скрин не могу скинуть.
char может быть знаковым, т.е. [-128, 128). При этом std::isdigit принимает строго [-1, 255] => проверяй передаваемый аргумент
Обсуждают сегодня