
24.03.2018, 01:15
|
|
Постоянный
Регистрация: 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).
|
|
|