eviter un warning sur un cast
Bonjour à tous,
dans le but de fournir un code le plus propre possible, je fais la chasse aux warnings. Et il y en a un que je ne sais pas comment supprimer.
J'ai une fonction callback qui ressemble à cela:
Code:
1 2 3 4 5
| void __stdcall MaCallback( unsigned long context, void* pData)
{
MaClasse* pMonObjet = reinterpret_cast<MaClasse*>(context);
// ensuite je fais des traitements sur pMonObjet
} |
Dans cette callback, je récupère le contexte. En fait, ce contexte est un pointeur sur une classe qui va être modifée dans cette callback.
Voici le warning que j'obtiens (je travaille avec Visual8):
Citation:
warning C4312: 'reinterpret_cast' : conversion from 'unsigned long' to 'MaClasse *' of greater size
Avez-vous une idée pour se débarrasser de ce warning?
ps: je ne peux pas modifier la signature de ma callback, elle fait partie d'une sdk "externe" à mon projet.