[英]C++ Variables not changing
我有一个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
)。 因此,您不应期望任何合理的行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.