Erreur du compilateur C2080
'identifier' : le type de 'type' peut être déduit seulement à partir 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