visual studio 2008 c++如何声明auto变量?
autoi;这句代码在VS2010里没报错,却在VS2008报错。这是为什么?怎样才能在VS2008里声明的时候消去报错?...
auto i;
这句代码在VS2010里没报错,却在VS2008报错。这是为什么?怎样才能在VS2008里声明的时候消去报错? 展开
这句代码在VS2010里没报错,却在VS2008报错。这是为什么?怎样才能在VS2008里声明的时候消去报错? 展开
2个回答
展开全部
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
你可以试一试.
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
你可以试一试.
追问
“在vs2008中, 你试一试在函数内部使用 auto,会发现不会报错, 而全局变量用auto会报错。”我试了,你这句话并不正确啊。
追答
我只测试了vc6, 在函数内部使用 auto,会发现不会报错, 而全局变量用auto会报错.
根据 "Before Visual C++ 2010, the auto keyword declares a variable in the automatic storage class. "
我判断在vs2008中情况与在 vc6中相同。
你再测试一下吧。 可能是我判断错误。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询