首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zero初始化类型

Zero初始化类型
EN

Stack Overflow用户
提问于 2018-06-02 05:20:48
回答 1查看 69关注 0票数 0

给定一个无符号整数类型的变量:foo,假设我想这样做:

代码语言:javascript
复制
const decltype<foo> bar{};

cout << (55834574890LL & ~bar) << endl;

这就给了我预期的42。但是现在让我们假设我想去掉bar变量。所以就像这样:

代码语言:javascript
复制
cout << (55834574890LL & ~decltype<foo>{}) << endl;

但是我得到了一个错误:

错误:应在decltype之前使用主表达式

我也尝试过declval,但它返回一个引用,这也不好。有什么办法可以做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-02 05:30:11

您应该使用圆括号:

代码语言:javascript
复制
auto v = 55834574890LL & ~decltype(foo){};

Here's a demo.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50651124

复制
相关文章

相似问题

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