Ошибка компилятора C3533
"type": параметр не может иметь тип, содержащий "auto"
Параметр метода или шаблона нельзя объявить с помощью ключевого auto
слова, если параметр компилятора по умолчанию /Zc:auto compiler действует.
Исправление ошибки
- Удалите ключевое
auto
слово из объявления параметра.
Примеры
В следующем примере возвращается C3533, так как он объявляет параметр функции с auto
ключевым словом и компилируется с параметром /Zc:auto.
// C3533a.cpp
// Compile with /Zc:auto
void f(auto j) {} // C3533
В следующем примере в режиме C++14 возвращается C3533, так как он объявляет параметр шаблона с auto
ключевым словом и компилируется с /Zc:auto. (В C++17 это допустимое определение шаблона класса с одним параметром шаблона нетипа, тип которого выводится.)
// C3533b.cpp
// Compile with /Zc:auto
template<auto T> class C {}; // C3533