This error can be generated as a result of compiler conformance work that was done for Visual C++ 2005: Visual C++ no longer creates untyped identifiers as int by default. The type of an identifier must be specified explicitly. See Breaking Changes in the Visual C++ 2005 Compiler for more information.
This warning is off by default. See Compiler Warnings That Are Off by Default for more information.
The following sample generates C4431.
// C4431.c // compile with: /c /W4 #pragma warning(default:4431) i; // C4431 int i; // OK