我有一個類用於存儲我創建的視覺實驗的一些靜態默認變量。用作常量的靜態變量在其他類中返回零
它們沒有標記爲const,因爲我在運行時使用GUI來調整它們。 當我將它們記錄在主類(它調用Defaults類的靜態函數init)時 - 它們是有效的。但是在不同類的構造函數中它返回零。
輸出看起來像這樣
"Constants::init() called" // Constants::Heads::MIN_LIFETIME initialized to 1200
preSetup-Log Constants::Heads::MIN_LIFETIME 1200
PhysicsObject- Constants::Heads::MIN_LIFETIME 0 // Y you zero?
postSetup-Log Constants::Heads::MIN_LIFETIME 1200
我定義這樣的常量:
namespace Constants {
namespace Forces {
static int MAX_LIFETIME;
static float GRAVITY_FORCE;
};
}
static void init() {
std::cout << "Constants::init()" << std::endl;
Constants::Forces::GRAVITY_FORCE = 40000.0f;
Constants::Forces::MAX_LIFETIME = 3000;
}
你可以發佈重現錯誤的最小代碼嗎? – Beta
你可以顯示你的程序中的一些代碼嗎? – SpeedBirdNine
請發佈.h和.cc文件的相關部分。 –