Erro do compilador C2587
'identifier' : Uso ilegal de variável local como parâmetro padrão
Variáveis locais não são permitidas como parâmetros padrão.
O seguinte exemplo gera o erro C2587:
// C2587.cpp
// compile with: /c
int i;
void func() {
int j;
extern void func2( int k = j ); // C2587 -- local variable
extern void func3( int k = i ); // OK
}