vs2010 Help:
The auto keyword is a declaration specifier. However, the C++ standard defines an original and a revised meaning for this keyword.
Before Visual C++ 2010, the auto keyword declares a variable in the automatic storage class; that is, a variable that has a local lifetime.
Starting with Visual C++ 2010, the auto keyword declares a variable whose type is deduced from the initialization expression in its declaration.
大意是: vs2010之前, auto 关键字用于声明一个自动存储类型的变量, 即具有局部生存周期的变量, 通常被省略. 从vs2010起, auto 关键字用于声明一个变量, 其类型由其初始化表达式确定。
在vs2008中, 你试一试在函数内部使用 auto,会发现不会报错, 而全局变量用auto会报错。
避免报错似乎可以
#define auto int
你可以试一试.
auto是存储类型标识符,表明变量(自动)具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。所以你声明的时候应该是auto int i;