We recommend using Visual Studio 2017

Compiler Warning (level 1) C4218


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Compiler Warning (level 1) C4218.

nonstandard extension used : must specify at least a storage class or a type

With the default Microsoft extensions (/Ze), you can declare a variable without specifying a type or storage class. The default type is int.

// C4218.c  
// compile with: /W4  
i;  // C4218  
int main()  

Such declarations are invalid under ANSI compatibility (/Za).