Delen via


Compilerfout C3533

'type': een parameter kan geen type hebben dat 'auto' bevat

Opmerkingen

Een methode of sjabloonparameter kan niet worden gedeclareerd met het auto trefwoord als de standaardoptie /Zc:auto compiler van kracht is.

Deze fout corrigeren

  1. Verwijder het auto trefwoord uit de parameterdeclaratie.

Voorbeelden

In het volgende voorbeeld wordt C3533 weergegeven omdat hiermee een functieparameter wordt gedeclareerd met het auto trefwoord en wordt gecompileerd met /Zc:auto.

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

In het volgende voorbeeld levert dit C3533 in de C++14-modus op omdat het een sjabloonparameter met het `auto` trefwoord declareert en het wordt gecompileerd met `/Zc:auto`. (In C++17 is dit een geldige definitie van een klassesjabloon met een enkele sjabloonparameter zonder type waarvan het type wordt afgeleid.)

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

Zie ook

automatisch trefwoord
/Zc:auto (type variabele afleiden)