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