Share via


Erreur du compilateur C3533

'type' : un paramètre ne peut pas avoir un type qui contient 'auto'

Une méthode ou un paramètre de modèle ne peut pas être déclaré avec l’mot clé auto si l’option de compilateur /Zc :auto par défaut est en vigueur.

Pour corriger cette erreur

  1. Supprimez la auto mot clé de la déclaration de paramètre.

Exemples

L’exemple suivant génère l’erreur C3533, car il déclare un paramètre de fonction avec le auto mot clé et il est compilé avec /Zc :auto.

// C3533a.cpp
// Compile with /Zc:auto
void f(auto j) {} // C3533

L’exemple suivant génère C3533 en mode C++14, car il déclare un paramètre de modèle avec le auto mot clé et il est compilé avec /Zc :auto. (En C++17, il s’agit d’une définition valide d’un modèle de classe avec un seul paramètre de modèle non de type dont le type est déduit.)

// C3533b.cpp
// Compile with /Zc:auto
template<auto T> class C {}; // C3533

Voir aussi

auto, mot clé
/Zc:auto (Déduire le type de variable)