Partilhar via


Erro de compilador C2548

'class::member' : faltando parâmetro padrão para o parâmetro especificado

Observações

A lista de parâmetros padrão está faltando um parâmetro. Se você fornecer um parâmetro padrão em qualquer lugar em uma lista de parâmetros, deverá definir parâmetros padrão para todos os parâmetros subsequentes na declaração atual ou quaisquer declarações anteriores dentro do mesmo escopo.

Example

O exemplo a seguir gera C2548 para:

  • func1 porque está faltando o argumento bpadrão .
  • func3 porque está faltando o argumento cpadrão .

O exemplo a seguir não gera C2548 para:

  • func2 porque todos os argumentos padrão necessários são fornecidos.
  • A segunda func4 declaração porque o argumento c padrão é fornecido na declaração anterior e está no mesmo escopo.
  • A terceira func4 declaração porque os argumentos padrão b e c são ambos fornecidos 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