-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