Il timer C ++ non funziona?
Domanda
Sto cercando di creare un timer in c ++. Sono nuovo di c ++. Ho trovato questo frammento di codice
SetTimer UINT_PTR (HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);
L'ho inserito nelle mie variabili globali e mi dice
Errore 1 errore C2373: 'SetTimer': ridefinizione; modificatori di diverso tipo
Non sono sicuro di cosa significhi. Esiste un modo più appropriato per definire un timer?
Non sto usando mfc / afx
Grazie
Soluzione
Dovresti chiamarlo così:
void CALLBACK TimerProc(
HWND hwnd,
UINT uMsg,
UINT idEvent,
DWORD dwTime
)
{
//do something
}
SetTimer(NULL, NULL, 1000, TimerProc);
Questo imposterà un timer per 1 secondo e chiamerà TimerProc alla scadenza. Leggi TimerProc MSDN qui: http://msdn.microsoft .com / it-it / library / ms644907% 28VS.85% 29.aspx
Altri suggerimenti
Non è una chiamata di funzione, è una dichiarazione di funzione, che probabilmente stai già #includendo da qualche parte. Ciò di cui hai bisogno è l'effettiva chiamata SetTimer dal tuo codice.
Puoi pubblicare il tuo codice nel punto in cui stai provando a impostare il timer e la funzione che vuoi che chiami quando si innesca?