Condividi tramite


Errore del compilatore C2548

'class::member': parametro predefinito mancante per il parametro parameter

L'elenco di parametri predefinito non contiene un parametro. Se si specifica un parametro predefinito in un elenco di parametri, è necessario definire i parametri predefiniti per tutti i parametri successivi nella dichiarazione corrente o in qualsiasi dichiarazione precedente all'interno dello stesso ambito.

Esempio

L'esempio seguente genera l'errore C2548 per:

  • func1 perché manca l'argomento bpredefinito .
  • func3 perché manca l'argomento cpredefinito .

L'esempio seguente non genera C2548 per:

  • func2 perché vengono forniti tutti gli argomenti predefiniti necessari.
  • La seconda func4 dichiarazione perché l'argomento c predefinito viene fornito nella dichiarazione precedente ed è nello stesso ambito.
  • La terza func4 dichiarazione perché entrambi gli b argomenti predefiniti e c vengono forniti in precedenza.
// 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