gpt4 book ai didi

c++ - 有什么方法可以用 MSVS2015 模拟编译时双常量吗?

转载 作者:太空狗 更新时间:2023-10-29 20:39:15 26 4
gpt4 key购买 nike

我知道 MSVS2013(甚至 CTP)无法处理 static constexpr double 数据成员,已确认 in this question .

现在,我希望 MSVS2015 预览版至少能让我使用这个简单的结构,但遗憾的是,我遇到了同样的错误。所以下一个合乎逻辑的问题是:有没有办法用 MSVC2015 定义编译时 double 常量?

例子:

template<typename T>
struct my_constant
{
static constexpr const T value = 42;
}

这给出了错误:

error C2864: 'my_constant<double>::value': a static data member with an in-class initializer must have non-volatile const integral type

这是 C++03 的庞然大物。

最佳答案

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

static constexpr T value() {return 42;}

那应该给你一个编译时常量。

免责声明:我从未使用过此编译器,因此无法对其进行测试。

关于c++ - 有什么方法可以用 MSVS2015 模拟编译时双常量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28405957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com