Salut !

J'ai créé une classe template afin de me simplifier certaines opérations.
Mais un probleme se pose :

lors que j'ecris un code similaire a ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
MyTpl<MyStruct*> *Obj;
Obj = new MyTpl<MyStruct*>();
 
Obj->Add(....);
 
delete Obj;
aucuns problemes puisque dans le dteur de ma classe MyTpl j'execute l'instruction "delete MyObj" (type : T MyObj);

Cependant, lorsque j'ecris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
MyTpl<int> *Obj;
Obj = new MyTpl<int>();
 
Obj->Add(...);
 
delete Obj
j'ai une erreur compilo qui me dit qu'il ne peut effectuer delete sur un int. C'est tout a fait logique.
Donc je me demande comment differencier un pointeur, sur lequel on peut donc effectuer "delete, et un type statique, non pointeur.
Comment faire ?
merci