首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++11中,'auto‘关键字可以用作存储类说明符吗?

在C++11中,'auto‘关键字可以用作存储类说明符吗?
EN

Stack Overflow用户
提问于 2011-05-22 19:22:47
回答 2查看 765关注 0票数 10

在C++11中,auto关键字可以用作存储类说明符吗?

下面的代码在C++11中合法吗?

代码语言:javascript
复制
int main() {
   auto int x;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-22 19:37:45

不,C++11中的代码格式错误。C++11中的auto将用于从变量的初始值设定项中推断变量的类型,并且它不能用作存储类说明符。

正确用法

代码语言:javascript
复制
int main()
{
   auto x = 12; // x is an int
   auto y = 12.3; // y is a double
}
票数 13
EN

Stack Overflow用户

发布于 2016-10-04 07:45:43

代码语言:javascript
复制
auto int x;

是循环的--从字面上看,你是在将类型声明为一个int。既然你有这些信息--没有理由不简单地使用:

代码语言:javascript
复制
int x;

如果想将x声明为作用域中另一个变量的类型,可以使用decltype

代码语言:javascript
复制
using sometype = float;
sometype y;
decltype(y) x;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6087581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档