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

È stato utile?

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?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top