Résolu Erreur lors de l'édition des liens

  • Auteur de la discussion Auteur de la discussion CoVAS
  • Créé le Créé le
Statut
N'est pas ouverte pour d'autres réponses.

CoVAS

Membre
Inscription
22 Septembre 2014
Messages
54
Réactions
16
Points
8 926
RGCoins
50
Salut à tous,

J'ai commencé à coder un programme tout bête dont le but est de pouvoir créer des vecteurs de n'importe quel type (int, double, char, float etc...) pour pouvoir les manipuler ensuite.

J'ai donc créé une classe CVecteur avec pour l'instant seulement les constructeurs, destructeurs et accesseurs.

Mon soucis survient lorsque je compile, lors de l'édition des liens.
Lorsque je créé mon objet vecteur dans la main, j'obtient l'erreur suivante :

Erreur 1 error LNK2019: symbole externe non résolu "public: __thiscall CVecteur<int>::CVecteur<int>(void)" (??0?$CVecteur@H@@QAE@XZ) référencé dans la fonction _main

Et si j'essaye de manipuler l'objet, j'ajoute une erreur du même genre mais en rapport avec la fonction utilisée.

J'ai bien une petite idée de ce que signifie cette erreur, mais je suis incapable de voir où j'ai fauté dans mon code...

Voici mes morceaux de codes :

L'instance de ma classe :

Code:
#pragma once
template<class MType>
class CVecteur
{
    private:
        unsigned int uiVECTaille;
        MType * pMTypeVECValeurs;

    public:
        CVecteur();
        CVecteur(CVecteur &VECParam);
        CVecteur(unsigned int uiVECTailleParam, MType * pMTypeVECValeurParam);

        ~CVecteur();

        unsigned int VECLireTaille();
        void VECModifierTaille(unsigned int uiVECTaileParam);

        MType * VECLireValeurs();
        void VECModifierValeurs(unsigned int uiIndice, MType MTypeVECValeurParam);
};

Le corps de ma classe :

Code:
#include "Vecteur.h"

template<class MType>
CVecteur<MType>::CVecteur()
{
    uiVECTaille = 0;
    pMTypeVECValeurs = NULL;
}

template<class MType>
CVecteur<MType>::CVecteur(CVecteur &VECParam)
{
    uiVECTaille = VECParam.uiVECTaille;
    pMTypeVECValeurs = new MType[VECParam.uiVECTaille];
    for(unsigned int uiBoucle = 0; uiBoucle < VECParam.uiVECTaille; uiBoucle++)
        pMTypeVECValeurs[uiBoucle] = VECParam.pMTypeVECValeurs[uiBoucle];
}

template<class MType>
CVecteur<MType>::CVecteur(unsigned int uiVECTailleParam, MType * pMTypeVECValeurParam)
{
    uiVECTaille = uiVECTailleParam;
    pMTypeVECValeurs = new MType[uiVECTailleParam];
    for(unsigned int uiBoucle = 0; uiBoucle < uiVECTailleParam; uiBoucle++)
        pMTypeVECValeurs[uiBoucle] = pMTypeVECValeursParam[uiBoucle];
}

template<class MType>
CVecteur<MType>::~CVecteur()
{
    delete[] pMTypeVECValeurs;
}

template<class MType>
unsigned int CVecteur<MType>::VECLireTaille()
{
    return uiVECTaille;
}

template<class MType>
void CVecteur<MType>::VECModifierTaille(unsigned int uiVECTailleParam)
{
    uiVECTaille = uiVECTailleParam;
}

template<class MType>
MType * CVecteur<MType>::VECLireValeurs()
{
    return pMTypeVECValeurs;
}

template<class MType>
void CVecteur<MType>::VECModifierValeurs(unsigned int uiIndice, MType MTypeVECValeurParam)
{
        pMTypeVECValeurs[uiIndice] = MTypeVECValeurParam;
}

Et ma main un peu ridicule :

Code:
#include <iostream>
#include "Except.h"
#include "Vecteur.h"

using namespace std;

int main()
{
    CVecteur<int> VECT1;
   
    return 0;
}

Voilà voilà... En espérant que quelqu'un soit en mesure de trouver la solution à mon problème :)
Merci d'avance :)
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut