Compartir a través de


Error del compilador C2548

'clase::miembro': falta el parámetro predeterminado para el parámetro parámetro

Falta un parámetro en la lista de parámetros predeterminados. Si proporciona un parámetro predeterminado en cualquier parte de una lista de parámetros, debe definir parámetros predeterminados para todos los parámetros posteriores de la declaración actual o cualquier declaración anterior dentro del mismo ámbito.

Ejemplo

El ejemplo siguiente genera la advertencia C2548 para:

  • func1 porque falta el argumento bpredeterminado .
  • func3 porque falta el argumento cpredeterminado .

El ejemplo siguiente no genera la advertencia C2548 para:

  • func2 porque se proporcionan todos los argumentos predeterminados necesarios.
  • La segunda func4 declaración porque el argumento c predeterminado se proporciona en la declaración anterior y está en el mismo ámbito.
  • La tercera func4 declaración porque los argumentos predeterminados b y c se proporcionan anteriormente.
// C2548.cpp
// compile with: /c
void func1(int a = 1, int b, int c = 3);   // C2548

void func2(int a = 1, int b = 2, int c = 3);   // OK

void func3(int a, int b = 2, int c);   // C2548

void func4(int a, int b, int c = 3);   // OK
void func4(int a, int b = 2, int c);   // OK
void func4(int a = 1, int b, int c);   // OK