[[устарело]] приводит к сбою сборки в VS2017 (ошибка C4996)

Это из-за этой строки:

printf ("Hi %s,</br />", $name);

Вы не должны печатать / эхо ничего, прежде чем отправлять заголовки.

2
задан vkn 5 March 2019 в 17:53
поделиться

1 ответ

Вы получаете сообщение об ошибке вместо предупреждения, потому что включена «проверка SDL». Похоже, в VS17 SDL включен по умолчанию. Из doc :

/ sdl разрешает эти предупреждения как ошибки :

C4146 / we4146 Унарный минус оператор был применен к типу без знака, что привело к результату без знака.

C4308 / we4308 Отрицательная интегральная константа, преобразованная в тип без знака, что может привести к бессмысленному результату.

C4532 / we4532 Использование ключевых слов continue, break или goto в блоке __finally / finally имеет неопределенное поведение во время аварийного завершения.

C4533 / we4533 Код, инициализирующий переменную, не будет выполнен.

C4700 / we4700 Использование неинициализированной локальной переменной.

C4703 / we4703 Использование потенциально неинициализированной локальной переменной-указателя.

C4789 / we4789 Переполнение буфера при использовании определенных функций времени выполнения C (CRT).

C4995 / we4995 Использование функции, помеченной прагмой, устарело.

C4996 / we4996 Использование функции, помеченной как устаревшая.

Чтобы исправить, перейдите в «Свойства» -> «C / C ++» -> «Проверка SDL», установите «Нет (/ sdl-)». После этого вы получите

: warning C4996: 'foo': was declared deprecated
: note: see declaration of 'foo'
0
ответ дан Dmytro Dadyka 5 March 2019 в 17:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: