/Zc:auto(推导变量类型)

/Zc:auto 编译器选项指示编译器如何使用 auto 关键字 来声明变量。 如果指定默认选项 /Zc:auto,编译器从其初始化表达式中推导声明的变量的类型。 如果指定 /Zc:auto-,编译器将该变量分配给自动存储类。

语法

/Zc:auto[-]

注解

C++ 标准为 auto 关键字定义了初始和修订的含义。 在 Visual Studio 2010 之前, 关键字在自动存储类中声明变量;即,具有局部生存期的变量。 从 Visual Studio 2010 开始,关键字从声明的初始化表达式中推导变量的类型。 使用 /Zc:auto 编译器选项指示编译器使用 auto 关键字的修订含义。 默认情况下,/Zc:auto 选项处于启用状态。 /permissive- 选项不会更改 /Zc:auto 的默认设置。

如果所使用的 auto 关键字与当前 /Zc:auto 编译器选项发生冲突,编译器会发出适当的诊断消息。 有关详细信息,请参阅 auto 关键字。 有关 Visual C++ 一致性问题的详细信息,请参阅非标准行为

在 Visual Studio 中设置此编译器选项

  1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 选择“配置属性”>“C/C++”>“命令行”属性页

  3. /Zc:auto/Zc:auto- 添加到“附加选项:”窗格中。

另请参阅

/Zc(一致性)
auto 关键字