zaraki21
Messages postés31Date d'inscriptionlundi 2 juin 2008StatutMembreDernière intervention22 avril 2011
-
23 août 2010 à 15:49
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 2021
-
23 août 2010 à 16:51
Bonjour,
Je travaille actuellement sur un projet en C/C++ dans lequel je souhaite "caster" un membre d'une classe de type void* en un pointeur sur un objet d'une autre classe.
Je m'explique : j'ai deux classes bien différentes CTest1 (utilisation de singleton) et CTest2 avec fonctions et attributs membres.
Dans la classe CTest2 j'ai l'attribut suivant :
void* m_pObjet;
Et je désire faire dans le constructeur de la classe CTest2 la chose suivante :
Seulement voilà, à la compilation j'ai l'erreur '"void*' is not a pointer-to-object type".
Donc si quelqu'un a une idée pour faire cette manipulation ( en soulignant, que dans mon projet il faut que j'utilise un void* , je ne peux pas par exemple utiliser un attribut membre "CTest1*". )
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 23 août 2010 à 16:51
salut,
Pourquoi void* m_pObjet;
et pas CTest1* m_pObjet;
A mon avis, ce cast est à l'envers : m_pObjet= (CTest1* )CTest1::getInstance();
Ca serait plutot : m_pObjet= (void* )CTest1::getInstance(); (si void* m_pObjet;)
Mais ça devient débile avec la ligne d'après !!!