Bonjour,
voila j'ai un probleme que je ne peux resoudre depuis un moment deja. J'ai une fonction de ce type :
float* function(float* input1, MaClasse input2)
sachant que input1 a ete construit par new float[N] et input2 par MaClasse(). A aucun moment dans le constructeur de MaClasse ni dans les traitements qui suivent on ne fait appel a input1. Ces deux arguments sont dissocies.
Voila mon probleme, lorsque au sein de cette fonction j'appelle delete[] input1, ca appelle le destructeur de input2, hors, je ne veux pas input2 soit detruit. J'ai fait des tests, si je n'appelle pas delete[] input1, le destructeur de MaClasse n'est pas appelle...
Or, dans cette fonction, je me traite les valeurs de input2 et de input1 mais a aucun moment je ne couple les pointeurs par exemple...
Est ce que quelqu'un sait quel pourrait etre le probleme ? Quelqu'un a une idee ?
J'ai bien pense a mettre le delete en dehors de la fonction mais j'utilise cette fonction au sein d'une boucle et je l'appelle par res=function(res, input2) donc j'ai besoin de desalloue la memoire de res avant de lui en realloue une autre.
Je ne joins pas le code car il est tres long.
Merci d'avance !
Anne-Lise