Bonjour a tous,
je suis un vrai debutant en c++et je me trouve avec un grand code de c++ que je dois comprendre et debugger
![]()
Ci-dessous une partie d'une class A qui contient une autre class B, un pointeur ptr est donne par (ligne 12 dans le code ci-dessous )
B<T> *ptr = new B<T>(x);
j'ai verifie dans le code il n'y a pas de "delete" pour le pointeur "ptr"je dois je l'ajouter et ou,
il y a un destructeur dans le code pour la class A et non pour la class B, est ce que ceci est normal?
le etoile "*" avant la fonction "ajout" (ligne 11)
Merci de tout commentaire ou remarque pour comprendre ce morceau de code (au pt de vue programmation). Le programme se compile sans probleme, mais le debugger affiche une erruer dans la fonction ajout ligne 11.
==========
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 template <class T> class A; template <class T> class B{ T val; B *alpha, *beta; B(const T &x) : val(x), alpha(0), beta(0) {} friend class A<T>; }; template <class T> class A { /*...*/ B<T> *ajout(const T &x) { B<T> *ptr = new B<T>(x); if (empty()) out = ptr; else function1(out, ptr); return ptr; } /*... */ };
Partager