cs_tintin72
Messages postés122Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention22 juillet 2006
-
16 juin 2005 à 18:42
cs_tintin72
Messages postés122Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention22 juillet 2006
-
16 juin 2005 à 21:54
Bonjour,
j'aimerais savoir comment faire une fonction qui renvoi un pointeur sur un type objet.
En fait j'aimerais pouvoir faire ça :
class Cclasse
{
//variables membres
Cclasse* fnPt();
}
//Définition de la fonction
Cclasse* Cclasse::fnPt()
{
Cclasse *p;
//manipulation du pointeur...
return p;
}
//puis + loin dans le programme
Cclasse *pClasse
pClasse = fnPt();
j'ai fais des essaies mais pour l'instant le pointeur renvoyé vaut toujours zéro alors que dans la fonction ce n'est pas le cas.
Quelqu'un pourrait m'aider ?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 16 juin 2005 à 19:23
Comment tu initialises p dans fnPt? Si c'est avec new, le pointeur sera
encore valide à la sortie de la fonction, sinon (p pointe vers une
variable locale) il ne le sera plus. Par contre dans un aucun cas la
fonction ne devrait retourner 0. J'ai donc peur que p ne soit pas
initialisé du tout
cs_tintin72
Messages postés122Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention22 juillet 2006 16 juin 2005 à 19:51
Ben oui je comprend pas. Peut être qq chose m'a echappé, mais j'ai j'ai bien vérifier.
Je pensais que peut être renvoyer un pointeur sur un type de classe ça se passait pas comme renvoyer un pointeur sur un type standard (int, char etc...) mais bon....
Mais c sûr que dans fnPt le pointeur est initialisé avec new et donc ne vaut pas 0.
Tintin 72
Vous n’avez pas trouvé la réponse que vous recherchez ?