Compiler Error C3533

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

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

  1. Remove the auto keyword from the parameter declaration.

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  

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  

auto Keyword
/Zc:auto (Deduce Variable Type)

Show: