Sdílet prostřednictvím


Chyba kompilátoru C3533

'type': Parametr nemůže mít typ, který obsahuje "auto"

Parametr metody nebo šablony nelze deklarovat s klíčovým slovem auto , pokud je v platnosti výchozí možnost kompilátoru /Zc:auto .

Oprava této chyby

  1. auto Odeberte klíčové slovo z deklarace parametru.

Příklady

Následující příklad přináší C3533, protože deklaruje parametr funkce s klíčovým slovem auto a je zkompilován pomocí /Zc:auto.

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

Následující příklad přináší C3533 v režimu C++14, protože deklaruje parametr šablony s klíčovým slovem auto a je zkompilován pomocí /Zc:auto. (V jazyce C++17 se jedná o platnou definici šablony třídy s jedním parametrem šablony bez typu, jehož typ je odvozen.)

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

Viz také

Auto – klíčové slovo
/Zc:auto (odvození typu proměnné)