我正在尝试使用向量作为成员字段来设置对象。我设置了构造函数,据我所知它确实初始化了这个成员变量,但是当我尝试访问向量时出现错误,除非我在对象的函数调用中初始化它。我收到一条警告说
C26495: Variable 'Engy::Graphics::Shape2D::m_vertices' is uninitialized. Always initialize a member variable (type.6).
问题是,我确实在我的构造函数中初始化了它。我缺少什么重要的东西吗?这是我的代码:
类声明(头文件)
class Shape2D:Object
{
protected:
std::vector<Vector> *m_vertices;
int type = GL_QUADS;
public:
Shape2D(std::vector<Vector> vertices);
Shape2D();
void draw();
void setVector(int index, Vector value);
Vector getVector(int index);
void translate(double x, double y);
void createVector(int i, double x, double y);
void createVector(double x, double y);
void addVector(Vector value);
};
Run Code Online (Sandbox Code Playgroud)
方法声明(.cpp 文件)
Shape2D::Shape2D(std::vector<Vector> vertices)
{
std::vector<Vector> m_vertices = vertices;
}
Shape2D::Shape2D()
{
std::vector<Vector> *m_vertices = new std::vector<Vector>;
}
void Shape2D::setVector(int index, …Run Code Online (Sandbox Code Playgroud)