A lovely quote from the Visual Studio 2005 documentation (found through searching index for /W4):
Level 4 displays all level 3 warnings plus informational warnings, which in most cases can be safely ignored. This option should be used only to provide “lint” level warnings and is not recommended as your usual warning level setting.
Not recommended is actually pretty strong, but I can see why Microsoft might say that. But the very next line goes on:
For a new project, it may be best to use /W4 in all compilations. This will ensure the fewest possible hard-to-find code defects.
So it’s recommended, then? Or would recommended be too strong a word?
It seems likely to me that these paragraphs were written by different writers, and whoever made the second change didn’t read the first writer’s work.
It’s recommended for new projects. It’s not recommended when you’re doing touch-up work on an existing project full of implicit type conversions.
Although, personally, even then I would recommend turning it on and seeing what it does.
That’s what I’d say, too. It’s good advice. But what MSDN says is, unfortunately, exactly what I quoted.