Kompilatorfel C3533

"type": en parameter får inte ha en typ som innehåller "auto"

Anmärkningar

Det går inte att deklarera en metod eller mallparameter med nyckelordet auto om standardalternativet /Zc:auto compiler är i kraft.

Så här åtgärdar du det här felet

  1. Ta bort nyckelordet auto från parameterdeklarationen.

Examples

I följande exempel returneras C3533 eftersom den deklarerar en funktionsparameter med nyckelordet auto och kompileras med /Zc:auto.

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

Följande exempel ger C3533 i C++14-läge eftersom den deklarerar en mallparameter med nyckelordet auto och kompileras med /Zc:auto. (I C++17 är detta en giltig definition av en klassmall med en enda mallparameter som inte är av typen vars typ härleds.)

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

Se även

automatiskt nyckelord
/Zc:auto (Härled typ)