Narrowing conversion при касте из int в char

Рейтинг: 0Ответов: 0Опубликовано: 15.08.2025

Имеется следующий код:

enum class Name{
  A = 0b001,
  B = 0b010,
  C = 0b011,
  // И так далее
};

Name n = Name::A;

std::string name{(char) 64 + static_cast<char>(n)};

Данная конструкция работает - в строку записывается символ, равный маленькой версии символа из енума. Но выводится warning:

narrowing conversion ... from 'int' to 'char'

Кроме того, не хотелось бы использовать c-style cast, но без него в строку записывается не символ из ascii, а число.

Подскажите, как сделать данное преобразование без c-style cast-а и без warning-ов?

Ответы

Ответов пока нет.