繁体   English   中英

C ++变量不变

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM