Hello,
J'ai un peu oublié les templates, donc voilà:
Je déclare une template de class du style:
Code :
- template <class T> class MyData
- {
- public:
- MyData();
- void Setup(string NewName);
- private:
- string DataName;
- T TheData;
- };
- template <class T> void MyData<T>::Setup(string NewName)
- {
- DataName=NewName;
- }
|
Puis, je crée une classe comme ca:
Code :
- class truc
- {
- Truc();
- MyData <int> ID();
- MyData <string> Name();
- }
|
et dans le constructeur de truc:
Code :
- truc::truc()
- {
- ID.Setup("ID" );
- Name.Setup("Name" );
- }
|
Réponse du compilateur (gcc)
myclasses.cc:6: error: ‘((truc*)this)->truc::ID’ does not have class type |
Pourquoi?
Message édité par Ben_be le 12-08-2007 à 22:47:19
---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette