Сборка конфигурации отладки с использованием ИЛИ констант std::wregex выдает неожиданное исключение std::regex_errorC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Сборка конфигурации отладки с использованием ИЛИ констант std::wregex выдает неожиданное исключение std::regex_error

Сообщение Anonymous »

Я компилирую это с помощью компилятора C++ VS 2022 как «Стандарт ISO C++20 (/std:c++20)» для конфигурации отладки.
Почему это выдает следующее std::regex_error:

regex_error(error_backref): выражение содержало недопустимую обратную ссылку.

Код: Выделить всё

std::wregex re;
bool bCaseSens = true;

re.assign(L"FilE",
std::wregex::ECMAScript |
std::wregex::nosubs |
std::wregex::optimize |
(bCaseSens ? 0 : std::wregex::icase)
);
но это компилируется и работает нормально?

Код: Выделить всё

std::wregex re;
bool bCaseSens = true;

re.assign(L"FilE",
std::wregex::ECMAScript |
std::wregex::nosubs |
std::wregex::optimize
);
ПС. Обратите внимание, что сборка Release не генерирует это исключение.
PS2. Также пробовал использовать более старые версии стандарта C++, эффект тот же.

Подробнее здесь: https://stackoverflow.com/questions/798 ... -unexpecte
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»