Включить одно предупреждение в 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 Сбросьте поведение предупреждения к его значению по умолчанию. Это также включает указанное предупреждение, которое по умолчанию отключено. Предупреждение будет сгенерировано по умолчанию на задокументированном уровне.

Другие вопросы по тегам