相关疑难解决方法(0)

使用MSVC 2013初始化`static constexpr double`

标题说明了所有这两种常用方法都不起作用.我错过了什么?

1.

class Cl {
    static constexpr double PI;
};
constexpr double Cl::PI = 3.14;
Run Code Online (Sandbox Code Playgroud)

(26):错误C2737:'private:static double const Cl :: PI':'constexpr'对象必须初始化

2.

class Cl {
    static constexpr double PI = 3.14;
};
Run Code Online (Sandbox Code Playgroud)

(26):错误C2864:'Cl :: PI':具有类内初始化程序的静态数据成员必须具有非易失性const整数类型
类型为'const double'

在两次尝试中,错误都在类中的同一行.我正在使用VisualStudio/MSVC 2013年11月CTP编译器.

请注意,使变量const不是解决方案,因为我想在constexpr函数和普通函数中使用此常量.

c++ visual-c++ constexpr c++11 visual-studio-2013

7
推荐指数
1
解决办法
3988
查看次数

标签 统计

c++ ×1

c++11 ×1

constexpr ×1

visual-c++ ×1

visual-studio-2013 ×1