Bonsoir à tous,
j'essaye de créer pour la première fois un template en C++ avec MS.net
j'ai un peu honte car le code est vraiment simple, mais je n'arrive pas a trouver de solution à ce problème
voici mon entête :
Code :
- template <class T> class Pixel {
- private:
- T R,G,B,Y;
- public:
- Pixel(T R,T G,T B);
- ~Pixel() {};
- T getR();
- void setR(T R);
- T getG();
- void setG(T G);
- T getB();
- void setB(T B);
- };
|
et voici mon fichier cpp
Code :
- #include <iostream>
- #include "pixel.h"
- template <class T>
- Pixel::Pixel(T R,T G,T B)
- {
- this->R = R;
- this->G = G;
- this->B = B;
- }
- template <class T>
- T Pixel::getR()
- {
- return R;
- }
- template <class T>
- void Pixel::setR(T R)
- {
- this->R = R;
- }
- template <class T>
- T Pixel::getG()
- {
- return G;
- }
- template <class T>
- void Pixel::setG(T G)
- {
- this->G =G;
- }
- template <class T>
- T Pixel::getB()
- {
- return B;
- }
- template <class T>
- void Pixel::setB(T B)
- {
- this->B =B;
- }
|
Il doit y avoir j'imagine une erreur flagrante mais je n'arrive pas a compiler ce fichier et a l'utiliser avec mon programme
Le message d'erreur de MS.net est :
error C2955: 'Pixel' : l'utilisation d'un modèle de classe nécessite une liste d'arguments de modèle
J'espère que vous prendrez la peine de m'aider.
Cordialement
Caddie