我有一个类AssetInstance:
#pragma once
#include "Asset.h"
#define GRAVITATIONAL_CONSTANT -2.45f
class AssetInstance
{
private:
GLfloat maxX();
GLfloat maxY();
GLfloat maxZ();
GLfloat minX();
GLfloat minY();
GLfloat minZ();
public:
AssetInstance();
~AssetInstance();
void updateBoundaries();
void calculateMinAndMaxXYZ();
glm::mat4 translate();
glm::mat4 scale();
void updatePosition();
GLfloat timeInSeconds(long int time);
GLfloat randomFloat();
Asset* asset;
glm::vec3 position;
glm::vec3 size;
glm::vec3 materialColor;
glm::vec3 materialSpecularColor;
GLfloat materialShininess;
long int lastTime;
glm::vec3 velocity;
glm::vec3 acceleration;
std::vector<glm::vec3> vertices;
glm::vec3 max;
glm::vec3 min;
};
并且函数calculateMinAndMaxXYZZ()将max.x,max.y,max.z设置为它们的最大值,并使用min和最小值执行相同的操作。
然而,当我运行我的calculateMinxAndMaxXYZ()函数时,我收到一条消息,说我的变量已被优化掉并且不可用...我该如何阻止它?
如果我在抛出错误时进入类,这就是它的样子
答案 0 :(得分:2)
事实证明,我从未在vertices
中初始化AssetInstance
向量,因此我尝试访问不存在的vertices.at(0)
。