我有一個C++類shapeObject,雖然有點複雜,但這個問題只涉及類dX和dY的兩個特定字段。C++,變量恢復到初始值
header:
class shapeObject{
public:
shapeObject();
...
private:
float dX, dY;
...
};
cpp file:
shapeObject::shapeObject(){
...
dX = 0;
dY = 0;
...
}
這些字段僅通過一個函數,它會加上或減去一個小的float值DX或DY修改。但是,下一次讀取dX或dY的值時,它們已恢復爲其原始值0.0。
由於字段沒有在任何地方被修改,只有一個函數,並且該函數從不將值設置爲0.0,所以我不確定它們爲什麼會恢復到原始值。任何想法爲什麼會發生這種情況?
發佈您的完整代碼,我確定它有一個錯誤。另外,使用構造函數初始值設定項。 –
緩衝區溢出,野指針,過早刪除對象...我們可以看到更多的代碼嗎? – fredoverflow
另外,你如何確定這些值爲零?取決於你的輸出方法,非常小的值可能會出現*爲零,實際上它們不是。 – fredoverflow