Compiler Warning (level 4) C4210

nonstandard extension used : function given file scope

Under the default /Ze command-line option, Microsoft C/C++ gives function declarations file scope.

void func1()
{
    extern int func2( double );
}

void main( void )
{
    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.