Это G CC 7.4, работающий в режиме C ++ 14:
size_t i = 8;
std::string strIndent { i, ' ' };
Выглядит нормально, но я получаю предупреждение:
AnalyticsDBI.cpp:538:48: warning: narrowing conversion of ‘i’ from ‘size_t {aka long unsigned int}’ to ‘char’ inside { } [-Wnarrowing]
std::string strIndent { i, ' ' };
Это компилятор ошибка? Я не могу понять, как компилятор мог выбрать неправильную перегрузку. Должен быть конструктор 2, как показано здесь .