Bonjour à vous,
J'ai implémenté une classe template qui ressemble a ça :
Je voudrais dériver de cette classe et implémenter les fonctions de cette manière :
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 template < unsigned int kDim > class TModel { public: //TModel(){} //~TModel(){} virtual void SetModel(const ModelTag Tag) = 0; virtual void UseModel(const fType& In, fType& Out) = 0; protected: std::vector<std::pair<std::string, fType>> m_List_Params; std::vector<std::pair<std::string, fType>> m_Temp_Params; };
J'ai essayé pas mal de choses mais je retombe toujours sur l'erreur de compilation :
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 // Diode class Diode_Model : public TModel<1> { public: Diode_Model(){ ... } ~Diode_Model(){} void SetModel(const ModelTag Tag) override { ... } void UseModel(const fType& In, fType& Out) override { ... } private: void DiodeModel(const fType& Vd, fType& Id, fType& dId_Vd) { ... } }
C2259: TModel<1> : impossible d'instancier une classe abstraite
Et je ne comprends vraiment pas pourquoi... Auriez-vous une idée? Qu'est ce que j'ai pu faire d'incorrect?
Partager