Перейти к основному содержимому

warning: ISO C++ forbids converting a string constant to ‘char*’

При компиляции программы возникает предупреждение:

warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
time_of_the_day = "дня";

Операция прямого присвоения строкового литерала указателю считается разработчиками устаревшей. В данной работе используется C++ 17 версии.

Предупреждение возникает в этой части:

char *time_of_the_day;
time_of_the_day = "утра";

Требуется использовать явное приведение к типу char *:

char *time_of_the_day;
time_of_the_day = (char *) "утра";

Или использовать const char *:

const char *time_of_the_day = "утра";

Подробнее в статьях: