Megosztás a következőn keresztül:


C3533 fordítási hiba

"típus": egy paraméter nem rendelkezhet "auto" típusú típussal

Megjegyzések

A kulcsszóval auto nem deklarálható metódus- vagy sablonparaméter, ha az alapértelmezett /Zc:auto fordítóbeállítás érvényben van.

A hiba kijavítása

  1. Távolítsa el a kulcsszót auto a paraméterdeklarációból.

Példák

Az alábbi példa C3533 hibakódot eredményez, mert egy függvényparamétert deklarál a auto kulcsszóval, és a fordítás során a /Zc:auto kapcsolót használja.

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

Az alábbi példa C++14 módban c3533 értéket ad, mivel a kulcsszóval auto rendelkező sablonparamétert deklarál, és az /Zc:auto használatával van lefordítva. (A C++17-ben ez egy olyan osztálysablon érvényes definíciója, amely egyetlen nem típusú sablonparamétert használ, amelynek a típusa levezethető.)

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

Lásd még

automatikus kulcsszó
/Zc:auto (Változótípus levezetése)