Преобразование const char [] в char * в Visual Studio 2019

При компиляции моего кода в Visual Studio 2019 вылезает ошибка C2664: невозможно преобразовать аргумент из "const char [5]" в "char *". В то же время, у меня есть проект в Visual Studio 2017, где этот же код работает. Я не знаю, связано ли это с версией студии или с настройками проекта. Вопрос в том, можно ли как-то исправить эту ошибку настройками проекта, не меняя код? Про /permissive- читал, убрал его, не помогло.


Ответы (1 шт):

Автор решения: KoVadim

Студия не была бы студией, если бы не разрешала делать страшное. Оказывается, большой кусок Windows SDK закладывается на то, что можно нарушить правило и скастить const char* в char*.

Вот сам ключ /Zc:strictStrings-. Обратите внимание на минус в конце.

Почему оно раньше работало, а теперь нет? просто поменяли значение по умолчанию.

Но будьте осторожны. Используйте только в случае крайней необходимости.

→ Ссылка