webForumDet fria alternativet

Konstruktor

5 svar · 300 visningar · startad av Alpha II

Alpha IIMedlem sedan maj 20002 993 inlägg
#1

Har en klass med en konstruktor, men det verkar inte som om den koden körs...

Skapar objektet så här:

CFPSCounter FPS;

och om jag testar att i konstruktorn att sätta m_FPS till 5 så är fps ändå 0...

class CFPSCounter
{
private:
LARGE_INTEGER m_TimerStart;
LARGE_INTEGER m_TimerCur;
LARGE_INTEGER m_TimerFreq;
double m_Time;
double m_FPSUpdate;
double m_DeltaTime;
double m_FPS;
double m_Start;
public:
CFPSCounter();

double	GetFPS() { return m_FPS; };
double	GetDelta() { return m_DeltaTime; }; 
void	Update();
float	UnitsPerSec(float n);

};

CFPSCounter::CFPSCounter()
{
QueryPerformanceFrequency(&m_TimerFreq);
QueryPerformanceCounter(&m_TimerStart);
m_Time = 0.0;
m_FPSUpdate = 0.0;
m_DeltaTime = 0.0;
m_FPS = 5.0;
m_Start = 0.0;
}

BeatboxMedlem sedan okt. 20013 217 inlägg
#2

Sätt en brytpunkt i konstuktorn och se om du kommer det överhuvudtaget.

PeWMedlem sedan juni 200010 432 inlägg
#3

Sen är det trevligt med lite kodtaggar! ;)

nikoMedlem sedan juni 20022 599 inlägg
#4

och om jag testar att i konstruktorn att sätta m_FPS till 5 så är fps ändå 0...

Vad är fps? FPS.GetFPS() kommer garanterat att returnera 5. Om konstruktorn inte kördes skulle m_FPS vara oinitierat och du borde få ett skräpvärde snarare än 0?

BeatboxMedlem sedan okt. 20013 217 inlägg
#5

Vad är fps? FPS.GetFPS() kommer garanterat att returnera 5. Om konstruktorn inte kördes skulle m_FPS vara oinitierat och du borde få ett skräpvärde snarare än 0?

Fast om man bygger Debugg så brukar rumtime:en se till så alla variabler är nollställda från början.

Alpha IIMedlem sedan maj 20002 993 inlägg
#6

Felet var inte den koden, det var koden för att visa fps på skärmen som var fel :OO

138 ms totalt · 3 externa anrop · v20260731065814-full.37765c92
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)