首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法用MSVS2015来模拟编译时双常数?

有没有办法用MSVS2015来模拟编译时双常数?
EN

Stack Overflow用户
提问于 2015-02-09 08:58:35
回答 1查看 287关注 0票数 3

我知道MSVS2013 (甚至CTP)不能处理static constexpr double数据成员,就像确认的in this question一样。

现在,我希望MSVS2015预览至少允许我使用这个简单的构造,但是唉,我得到了同样的错误。因此,逻辑上的下一个问题是:有任何方法可以用MSVC2015定义编译时双常数吗?

示例:

代码语言:javascript
复制
template<typename T>
struct my_constant
{
  static constexpr const T value = 42;
}

这就产生了错误:

代码语言:javascript
复制
error C2864: 'my_constant<double>::value': a static data member with an in-class initializer must have non-volatile const integral type

那就是C++03 mumbo-jumbo。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-09 10:55:43

如果编译器接受constexpr成员函数

代码语言:javascript
复制
static constexpr T value() {return 42;}

那么,这将给您一个编译时常数。

免责声明:我从不使用这个编译器,所以不能测试这个。

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

https://stackoverflow.com/questions/28405957

复制
相关文章

相似问题

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