cppcheck警告:变量未在带有初始化初始化的构造函数中实例化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cppcheck警告:变量未在带有初始化初始化的构造函数中实例化相关的知识,希望对你有一定的参考价值。
考虑此代码:
template<typename T>
class Limited
public:
Limited(const T& min, const T& max, const T& val)
: _minmin, _maxstd::max(min, max), _valuestd::clamp(val, min, max)
private:
T _min;
T _max;
T _value;
;
使用卷曲初始化,_valuestd::clamp(val, min, max)
cppcheck给我警告
成员变量
Limited::_value
未在构造函数中初始化
而不是用_value(std::clamp(val, min, max))
初始化,它消失。
为什么要抱怨初始化?
我正在使用的cppcheck版本是1.90,从QtCreator 4.11的插件中使用
Edit:抱歉,构造函数缺少的花括号只是我的摘录中的错字
答案
您缺少括号:
Limited(const T& min, const T& max, const T& val)
: _minmin, _maxstd::max(min, max), _valuestd::clamp(val, min, max)
// here
以上是关于cppcheck警告:变量未在带有初始化初始化的构造函数中实例化的主要内容,如果未能解决你的问题,请参考以下文章
带有空大括号的 C++ 新初始化触发 cppcheck uninitvar 错误