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.