我知道MSVS2013 (甚至CTP)不能处理static constexpr double数据成员,就像确认的in this question一样。
现在,我希望MSVS2015预览至少允许我使用这个简单的构造,但是唉,我得到了同样的错误。因此,逻辑上的下一个问题是:有任何方法可以用MSVC2015定义编译时双常数吗?
示例:
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 mumbo-jumbo。
发布于 2015-02-09 10:55:43
如果编译器接受constexpr成员函数
static constexpr T value() {return 42;}那么,这将给您一个编译时常数。
免责声明:我从不使用这个编译器,所以不能测试这个。
https://stackoverflow.com/questions/28405957
复制相似问题