Включить одно предупреждение в Visual Studio
Есть ли переключатель компилятора для включения одного предупреждения в Visual Studio?
Я спрашиваю, почему хочу включить предупреждение C4265, которое по умолчанию отключено. Мой поиск только нашел способы отключить предупреждения.
Даже на страницах Microsoft под названием " Как: включить или отключить предупреждения компилятора" все еще упоминается только отключение.
4 ответа
Если вы хотите включить (или выключить) его в настройках проекта, вам нужно перейти к:
Configuration Properties -> C/C++ -> Command Line
и затем в Дополнительные параметры вы можете ввести:
/w3####
установить предупреждение на уровне 3 и, таким образом, включить его; или вы можете ввести /wd####
отключить предупреждение.
#pragma warning(default:4265)
Может показаться, что для предупреждения будет установлено значение по умолчанию (которое будет отключено), но это не так. Это включает его.
http://msdn.microsoft.com/en-us/library/2c8f766e%28VS.80%29.aspx
Вы также можете сделать это:
#pragma warning(X:4265)
// where X is the warning level(1,2,3 or 4) that you want this warning to be generated at
Использование:
#pragma warning(default:4265)
и скомпилируйте хотя бы /W3
,
Вот явный пример от Microsoft:
http://msdn.microsoft.com/en-us/library/wzxffy8c(v=VS.90).aspx
Чтобы сделать комментарий Маттеуса Брандла относительно #pragma warning
более заметным:
Если вы компилируете с уровнем предупреждения ниже 3, вы должны использовать этот синтаксис:
#pragma warning (<warning level>: 4265)
Только если вы компилируете с уровнем 3 или выше, вы можете сделать
#pragma warning (default: 4265)
потому что для предупреждения 4265, default
означает уровень 3 (см. MSDN).
Документация для#pragma warning
гласит:
warning-specifier
Имея в виду
1, 2, 3, 4
Примените данный уровень к указанным предупреждениям. Это также включает указанное предупреждение, которое по умолчанию отключено.
default
Сбросьте поведение предупреждения к его значению по умолчанию. Это также включает указанное предупреждение, которое по умолчанию отключено. Предупреждение будет сгенерировано по умолчанию на задокументированном уровне.