Показать сообщение отдельно

  #2249  
Старый 24.03.2018, 01:15
san0
Постоянный
Регистрация: 15.12.2013
Сообщений: 412
С нами: 6530249

Репутация: 133
По умолчанию

Цитата:
Сообщение от Akatosh  

VS2017:
Как решается проблема, когда "текст в кавычках" воспринимается как const char*, а не char*, и из-за этого некоторые функции говорят о несовместимости?
В одном проекте все нормально, другой ругается на "кавычки", значит где-то что-то надо в настройках поставить?
Считая для каких целей - в общем случае, модифицирование строкового литерала означает неопределенное поведение. Если нужно просто избавиться от const

C++:





Код:
char
*
a
=
const_cast

(
"asdasd"
)
;


То, что воспринимается как const char - это стандартом обозначено string literal - cppreference.com(http://en.cppreference.com/w/cpp/language/string_literal)

То, что одном проекте нормально - это, вероятнее всего, выключены ошибки: что-то по типу Warning Level /W0 и Treat Warning As Errors

Либо это проект именно С (/TC) Параметры /Tc, /Tp, /TC, /TP (определение типа исходного файла)(https://msdn.microsoft.com/ru-ru/library/032xwy55.aspx).
 
Ответить с цитированием