Compiler Error C3537


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Compiler Error C3537.

type': you cannot cast to a type that contains 'auto'

You cannot cast a variable to the indicated type because the type contains the auto keyword and the default /Zc:auto compiler option is in effect.

The following code yields C3537 because the variables are cast to a type that contains the auto keyword.

// C3537.cpp  
// Compile with /Zc:auto  
int main()  
   int value = 123;  
   auto(value);                        // C3537  
   (auto)value;                        // C3537  
   auto x1 = auto(value);              // C3537  
   auto x2 = (auto)value;              // C3537  
   auto x3 = static_cast<auto>(value); // C3537  
   return 0;  

auto Keyword