Enable a single warning in Visual Studio

Is there a compiler switch to enable a single warning in Visual Studio?

The reason I ask is I want to enable warning C4265 which is off by default. My searching has only turned up ways to turn warnings off.

Even Microsoft pages called How to: Enable or Disable Compiler Warnings still only mention disabling.


Solution 1:

If you want to turn it on (or off) in the project setting, you have to go to:

Configuration Properties -> C/C++ -> Command Line and then under Additional Options you can enter:

/w3#### to set your warning to level 3, and thus enable it; or you can enter /wd#### to disable a warning.


Current (2015,2017,2019,...) Visual Studio Versions also have a dedicated setting to disable warnings under:

Configuration Properties -> C/C++ -> Advanced : Disable Specific Warnings ... is equivalent to /wd####.

Also useful in recent versions: C/C++ -> All Options and then filter for e.g. "warn".

It would appear that enabling á la /w3#### is not yet exposed explicitly.

Solution 2:

#pragma warning(default:4265)

It might seem like that would set the warning to it's default setting(which would be disabled), but that's not the case. It turns it on.

http://msdn.microsoft.com/en-us/library/2c8f766e%28VS.80%29.aspx

You can also do this:

#pragma warning(X:4265)
// where X is the warning level(1,2,3 or 4) that you want this warning to be generated at

Solution 3:

Use:

#pragma warning(default:4265)

and compile with at least /W3.

Here's an explicit example from Microsoft:

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