Compiler Error C3533
The latest version of this topic can be found at Compiler Error C3533.
type': a parameter cannot have a type that contains 'auto'
A method or template parameter cannot be declared with the auto
keyword if the default /Zc:auto compiler option is in effect.
To correct this error
- Remove the
auto
keyword from the parameter declaration.
Example
The following example yields C3535 because it declares a function parameter with the auto
keyword and it is compiled with /Zc:auto.
// C3533a.cpp
// Compile with /Zc:auto
void f(auto j){} // C3533
Example
The following example yields C3535 because it declares a template parameter with the auto
keyword and it is compiled with /Zc:auto.
// C3533b.cpp
// Compile with /Zc:auto
template<auto T> class C{}; // C3533