Стоит ли обращать внимание на данный warning: "narrowing conversion"?
Данный код выдаёт предупреждение о смене типов с char к int, вызванной методом toupper(char):
#include <iostream>
#include <cstring>
#include <cctype>
int main()
{
char str1[20];
char str2[20];
strcpy(str1, "My name is ");
strcpy(str2, "alex");
for (int i = 0; str2[i]; i++)
{
str2[i] = toupper(str2[i]);
}
strcat(str1, str2);
std::cout << str1 << std::endl; // OUT: My name is ALEX
return 0;
}
Вопрос в том, стоит ли воспринимать подобные предупреждения, учитывая, что переход внутри функции от char к int кажется вполне естественным?
Если же всё же стоит, то вопрос в том, как в данном случае преобразовать тип наиболее правильно по современным стандартам языка?
P.S IDE - Clion