Включить одно предупреждение в Visual Studio - PullRequest
25 голосов
/ 11 ноября 2010

Существует ли переключатель компилятора для включения одного предупреждения в Visual Studio?

Причина, по которой я спрашиваю, состоит в том, что я хочу включить предупреждение C4265, которое по умолчанию отключено.Мой поиск только нашел способы отключить предупреждения.

Даже на страницах Microsoft под названием Как: включить или отключить предупреждения компилятора все еще упоминается только об отключении.

Ответы [ 4 ]

23 голосов
/ 11 ноября 2010

Если вы хотите включить (или выключить) его в настройках проекта, вам нужно перейти на:

Configuration Properties -> C/C++ -> Command Line, а затем в Дополнительные параметры вы можете ввести:

/w3####, чтобы установить предупреждение на уровень 3 и, таким образом, включить его; или вы можете ввести /wd####, чтобы отключить предупреждение.

23 голосов
/ 11 ноября 2010
#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
1 голос
/ 03 апреля 2017

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

1 голос
/ 11 ноября 2010

Использование:

#pragma warning(default:4265)

и скомпилируйте как минимум /W3.

Вот явный пример от Microsoft:

http://msdn.microsoft.com/en-us/library/wzxffy8c(v=VS.90).aspx

...