Erro do Compilador C2383

"symbol": argumentos padrão não são permitidos nesse símbolo

O compilador C++ não permite argumentos padrão nos ponteiros para funções.

Esse código era aceito pelo compilador do Microsoft C++ em versões anteriores ao Visual Studio 2005, mas agora dá erro. Para criar um código que funcione em todas as versões do Visual C++, não atribua um valor padrão a um argumento de ponteiro para função.

Exemplo

O exemplo a seguir gera um erro C2383 e mostra uma possível solução:

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