-2
我有一个类,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()函数时,我收到一条消息,说明我的变量已经过优化并且不可用...如何停止此操作?
如果我踏入时,抛出该错误的类,这是它看起来像
显示的地址是0x00000003,这更可能表明您调用了“AssetInstance *”方法,该方法不指向此对象的实例。向我们展示您调用'calculateMinAndMaxXYZ()'方法的代码。 – cdhowie 2014-10-31 16:34:37
你使用什么编译器?无论你想使用哪种标志来消除优化,它都是你想要的。 – 2014-10-31 16:37:57
它看起来像Microsoft Visual Studio 2013 – Vincent 2014-10-31 16:39:16