Можете ли вы предупредить/ошибку при смешивании char8_t и char32_t в выражениях?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Можете ли вы предупредить/ошибку при смешивании char8_t и char32_t в выражениях?

Сообщение Anonymous »

У меня есть кодовая база, которая широко использует char8_t и char32_t для представления единиц кода UTF-8 и кодовых точек Unicode. Аргумент.

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

bool contains_oe(std::u8string_view str) {
for (char8_t c : str)
if (c == U'ö') // comparison always fails
return true;
return false;
}
Эта функция всегда возвращает false , потому что Ö utf-8 кодируется как 0xc3 0xb6 .
ошибка, подобная этой, можно было бы легко предотвратить, если бы я мог каким-то образом обнаружить сравнения char8_t и char32_t Automoty. Флаги компилятора, флаги компилятора Clang, Clang-Tidy или какой-то другой автоматический инструмент?

Подробнее здесь: https://stackoverflow.com/questions/796 ... xpressions
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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