编译器错误 C2383

更新:2007 年 11 月

错误消息

“symbol”: 此符号中不允许有默认参数

C++ 编译器不允许指向函数的指针上的默认参数。

早期版本的编译器接受此代码,但现在则会出现错误。为使代码在所有 Visual C++ 版本中使用,不要将默认值分配给指向函数的指针参数。

有关更多信息,请参见编译时的重大更改摘要

下面的行生成 C2383:

// C2383.cpp
// compile with: /c 
void (*pf)(int = 0);   // C2383
void (*pf)(int);   // OK