Erreur du compilateur C2548
'class ::member' : paramètre par défaut manquant pour le paramètre de paramètre
La liste de paramètres par défaut est manquante. Si vous fournissez un paramètre par défaut n’importe où dans une liste de paramètres, vous devez définir les paramètres par défaut pour tous les paramètres suivants dans la déclaration actuelle ou toutes les déclarations précédentes dans la même étendue.
Exemple
L’exemple suivant génère l’erreur C2548 pour :
func1
parce qu’il manque l’argumentb
par défaut .func3
parce qu’il manque l’argumentc
par défaut .
L’exemple suivant ne génère pas L’erreur C2548 pour :
func2
car tous les arguments par défaut requis sont fournis.- Deuxième
func4
déclaration, car l’argumentc
par défaut est fourni dans la déclaration précédente et se trouve dans la même étendue. func4
Troisième déclaration, car les argumentsb
par défaut etc
sont fournis précédemment.
// 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