[C++ / Templates / Visual Studio] fonction po accessible

fonction po accessible [C++ / Templates / Visual Studio] - C++ - Programmation

Marsh Posté le 22-10-2001 à 00:24:33    

Voila, je me chui faits des templates:
 
template <class C> class ResList
{
public:
 
 C **List;
 int n;
 
 ResList();
 ~ResList();
 
 int Alloc(int e=1);  
 int SearchPos(C *o);
 
 void Remove(int p);
 void Remove(C *o);  
 int Add(C *o);
};
 
template <class C> class mResList : public ResList<C>
{  
public:  
 
 int SearchPos(char *name);  
 C * Search(char *name);  
 void Remove(char *name);
 void FreeUnused();
};
 
Le problème est qu'avec une classe crée à partir  
de mReslist<C>, je n'accède pas aux méthodes  
de ResList<C>. J'ai l'impression que le compilateur du Visual Studio gicle des méthodes de ResList<C> à mResList<C>!!!
 
par exemple, avec un:
 
class EntityList : public mResList<mEntity>;
 
tous les méthodes mResList sont accèssibles, mais po celle de ResList.
 
par exemple:
EntityList.Remove(int);
Remove(int) "viens" de la template ResList;
n'est po accessible, pi dans la template mResList, Remove(char *name) utilise cet Remove(int), mais pour le compilateur la voit fo que je fasse un:
ResList<C> :: Remove(i)   (i : int)
 
y'a déjà qqun qui a fait des templates de templates ? :lol:

Reply

Marsh Posté le 22-10-2001 à 00:24:33   

Reply

Marsh Posté le 22-10-2001 à 09:03:38    

J'ai surtout deja fait du double aiguillages avec visual...
Et ca ne marche pas, c'est sans doute de la que viens ton Pb...
 
La methode Remove est definie 3 fois
2 fois dans ResList et une fois dans mResList, et personnellement chaque fois que j'ai essaye ce genre de chose avec visual ca n'a pas marche... sois tu fais je la surcharge soit de la redefinition mais pas les deux...

 

[edtdd]--Message édité par BENB--[/edtdd]

Reply

Marsh Posté le 23-10-2001 à 11:07:01    

Je crois pas que tu puisse dériver une classe template à partir d'une autre classe template, fait plustôt soit une classe template globale sans dérivation, soit une classe mère non template dont tu dérive des classes template, quite à ce qu'elle soit abstraite.

Reply

Marsh Posté le 23-10-2001 à 11:21:45    

LetoII
Je crois pas que tu puisse dériver une classe template à partir d'une autre classe template
Faux, personnellement j´ai parfois 3 niveaux d´héritage en templates.
Non je vois que le pb de BENB mais en tt cas c pas l´héritage de templates qui est à remettre en cause..


---------------
Athlon64 s754 10*200MHz - R9800Pro - 512MB DDR200MHz - ZX6RR - Q2[SupOp] - Tutorial Video: multilangues, multisstitres
Reply

Marsh Posté le 23-10-2001 à 18:26:35    

Bon alors si ça vient pas de l'héritage template c peut être une erreure de syntaxe, ou c visual qui fait n'importe quoi (ce qui serait pas la première fois), maintenant la question est a tu vraiment besoin de faire de la dériver ta classe mère (pour ce que j'ai aperçu du code ça me parrait pas vriament naicessaire, mais bon à partir de la def c pas facile de juger)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed