Récupération d'un paramètre de type void* - C++ - Programmation
Marsh Posté le 10-04-2013 à 08:35:28
Photo* photo = reinterpret_cast<Photo*>(image);
Marsh Posté le 10-04-2013 à 10:25:04
Effectivement tout fonctionne avec un pointeur, cependant je ne comprend pas pourquoi je ne peux pas le faire avec des références
Marsh Posté le 10-04-2013 à 12:24:23
Tu peux faire ça :
Photo& photo = *(reinterpret_cast<Photo*>(image));
Marsh Posté le 10-04-2013 à 13:20:49
Parce que tu castes un pointeur en référence, faut caster en pointeur.
Marsh Posté le 09-04-2013 à 22:22:39
Bonjour à tous,
Je poste ici dans l'espoir de trouver un peu d'aide. J'essaie en vain de faire fonctionner le bout de code qui suit, je vous explique la situation. Je développe un programme assez simple sous OpenCV dans lequel j'utilise les fonctions:
Pour lire les évenements sur la souris.
OnMouse est une fonction que je définis moi-même mais dans la mesure où elle doit être de type MouseCallback sa signature est imposée pour le bon fonctionnement de setMouseCallback (du moins c'est comme ça que j'ai compris les choses mais à priori c'est le cas). Oui, en fait le truc c'est que jusqu'à présent je n'ai jamais réellement travaillé en mode graphique avec les event handler et ce genre de choses alors il y a beaucoup de réflexes et de raisonnements que je dois acquérir.
Mon problème est que je souhaite passer des données à ma fonction onMouse, il s'agit d'une variable dont le type est la classe Photo que j'ai crée moi-même, voici mon code:
Tout compile normalement. Lors de l'appel de setMouseCallback ma référence &photo pointe vers le bon objet mais le problème est que dans la fonction onMouse elle-même la référence &photo pointe vers n'importe quoi... C'est comme si elle ne reçoit pas le bon paramètre lorsqu'elle est appelée, mais ça n'aurait aucun sens. Bien entendu,cela fait planter le reste de mon côte. Je commence vraiment à sécher, j'ai cherché tout l'après midi !!
Toute aide serait la bienvenue
Message édité par Profil supprimé le 09-04-2013 à 22:30:00