您的位置:首页 > 编程语言 > C语言/C++

C++ 静态成员的类内初始化-of non-integral type 问题

2017-10-10 09:52 381 查看
转载自:

(1)问题描述:

class ThermalCalibrationHelper : public QObject {
Q_OBJECT
public:
const static float TargetGradient = 0.20f;
const static float TargetTempDelta = 10.0f;
}Qt下上段语句出错,错误提示:
... of non-integral type [-fpermissive]

(2)问题分析:
代码中非整数型的静态变量在类内进行初始化,严格的讲只有整数型的静态变量可以在类中声明并初始化。

(3)修改方法:加入constexpr标签

class ThermalCalibrationHelper : public QObject {
Q_OBJECT
public:
const constexpr static float TargetGradient = 0.20f;
const constexpr static float TargetTempDelta = 10.0f;
}

(4)关于C++静态成员类内初始化的详细说明:参考 http://www.cnblogs.com/wanyuanchun/p/4041080.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: