编译器错误 C2587

“identifier”:非法将局部变量作为默认参数

局部变量不可作为默认参数。

以下示例生成 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
}