Compiler Error C2587

'identifier' : illegal use of local variable as default parameter

A local variable was illegally used as a default parameter.

The following is an example of this error:

int i;
void func();
{
   int j;
   extern void func2( int k = j );  // error, local variable
   extern void func2( int k = i );  // OK
}