c++变量不变

C++ Variables not changing

本文关键字:变量 c++      更新时间:2023-10-16

我有一个Timer类,但是每当我尝试更改任何变量的值时,该变量只是保持为零。SDL_GetTicks()返回它应该的值,但是当我试图将该值分配给变量时,该变量保持为零。我已经尝试在数字硬编码,变量仍然保持在零。我的Main类的变量工作得很好,但是当我试图改变其中的任何一个时,它不起作用。同样,方法timeSinceCreation()也返回零。

#include "Timer.h"
#include "SDL.h"
Timer::Timer() : m_timeOfLastCall(0.0f)
{
SDL_Init(SDL_INIT_TIMER);
}
Timer::~Timer() {}
float Timer::timeSinceCreation()
{
 return SDL_GetTicks();
 }
float Timer::timeSinceLastFrame()
{
 float thisTime = timeSinceCreation();
 float deltaTime = thisTime - m_timeOfLastCall;
m_timeOfLastCall = thisTime;
printf("%u ms n", thisTime );
return deltaTime;
}

您的代码具有未定义的行为,因为您的printf调用具有不匹配的类型(%u需要unsigned int,但您正在传递float)。因此,你不应该期望任何合理的行为。