【发布时间】:2016-10-23 18:41:52
【问题描述】:
我已使用 C++ Core Checker nuget 并运行我的代码分析员我收到此警告
warning C26495: Variable 'Point::_x' is uninitialized. Always initialize a member variable. (type.6:
Point.h
class Point
{
private:
int _x;
int _y;
public:
Point();
Point(int x, int y) :_x(x), _y(y) {}
~Point();
void setX(int x)
{
_x = x;
}
void setY(int y)
{
_y = y;
}
int getX()
{
return _x;
}
int getY()
{
return _y;
}
}
Point.cpp
#include "Point.h"
Point::Point()
{
}
Point::~Point()
{
}
警告 C26495:变量“Point::_x”未初始化。我通过 make _x = 0 解决了这个问题。我的修复是否正确并符合指南?
【问题讨论】:
-
是的,没错。不,它与指南不符,并且可能不会删除警告。
Point::Point() : _x(0), _y(0)是您初始化成员变量的方式。 (对于整数,它与_x = 0; _y = 0;相同,但对于其他类型可能不是)
标签: c++ oop cpp-core-guidelines