Устаревшее преобразование из строкового литерала в 'char *'

У меня есть программа, которая объявляет массив строк, как это:

char *colors[4] = {"red", "orange", "yellow", "blue"};

Но я получаю вышеупомянутое предупреждение компилятора. Он компилируется, но я бы предпочел использовать не осуждаемый способ (если он есть). Я пытался выяснить, что это значит, но я не могу понять это. Я слышал использование const до того, как сработает char, но было бы полезно, если бы кто-то мог объяснить, что означает ошибка. Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос