Erreur du compilateur C2080
'identifier' : le type de 'type' ne peut être déduit qu’d’une seule expression d’initialiseur
Notes
Le compilateur ne peut déduire que le type pour auto
ou decltype(auto)
si la déclaration utilise l’initialisation directe de liste et si l’initialiseur-list a un seul élément.
Exemple
L’exemple suivant montre certaines déclarations qui provoquent l’erreur C2080 :
auto x1(1, 2); // C2080
auto x2({4}); // C2080
decltype(auto) x3(1, 2); // C2080
decltype(auto) x4({4}); // C2080
Pour résoudre le problème, utilisez un initialiseur de valeur unique :
auto x1 = 1; // Valid
auto x2(1); // Valid
decltype(auto) x3 = 1; // Valid
decltype(auto) x4(1); // Valid