Compiler Warning (level 4) C4210

nonstandard extension used : function given file scope

With the default Microsoft extensions (/Ze), function declarations have file scope.

// C4210.c
// compile with: /W4 /c
void func1()
{
   extern int func2( double );   // C4210 expected
}

int main()
{
   func2( 4 );   //  /Ze passes 4 as type double
}                //  /Za passes 4 as type int

This extension can prevent your code from being portable to other compilers.