begin process at 2012 05 30 08:03:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

Undefined reference to... Incompréhensible.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Undefined reference to... Incompréhensible.

samedi 28 mai 2011 à 23:08:48 | Undefined reference to... Incompréhensible.

AnTrqx

Bonsoir,

J'essaie de coder une classe AdvancedArray qui serait un genre de vecteur simplifié. Seulement j'obtiens cette erreur à la compilation. J'ai fait quelques recherches sur Internet, mais aucune des causes/solutions proposées n'a marché.

Je vous poste mon .h et .cpp :

Le .h :
Code C/C++ :
#ifndef GENETICCARD_H
#define	GENETICCARD_H

#include "AdvancedArray.h"

class GeneticCard {
        private :
            AdvancedArray<int> geneticCode;
            AdvancedArray<int> headColor;
            bool gender;

        public :
            GeneticCard();
            GeneticCard(const GeneticCard& fatherCard, const GeneticCard& motherCard);
            GeneticCard(unsigned int nbSpeedBricks, unsigned int numSpeedBrick);
           
            AdvancedArray<int> getGeneticCode() const;
            AdvancedArray<int> getHeadColor() const;
}; 

#endif


Le .cpp :
Code C/C++ :
#include <iostream>

#include <cstdlib>
#include <ostream>

#include "AdvancedArray.h"

template <typename T>
AdvancedArray<T>::AdvancedArray() {
}

template <typename T>
AdvancedArray<T>::AdvancedArray(unsigned int aLength):length(aLength) {
    this->data = (T*) malloc(length*sizeof(T));
    for (int i=0; i<length; i++) {
        data[i] = NULL;
    }
}

template <typename T>
AdvancedArray<T>::~AdvancedArray() {
}

template <typename T>
unsigned int AdvancedArray<T>::getLength() const {
    return length;
}

template <typename T>
void AdvancedArray<T>::operator=(AdvancedArray<T> aAdvancedArray) {
    length = aAdvancedArray.getLength();
    for (int i=0; i<aAdvancedArray.getLength(); i++) {
        data[i] = aAdvancedArray[i];
    }
}

template <typename T>
T& AdvancedArray<T>::operator[](unsigned int i) {
    if(i >= length()) {
        throw;
    }

    return data[i];
}


J'ai donc des undefined references sur toutes les méthodes de mon AdvancedArray. Et je ne comprends pas d'où ça pourrait venir.

Si vous avez des idées n'hésitez pas,

Merci d'avance,

Antrqx.
samedi 28 mai 2011 à 23:11:20 | Re : Undefined reference to... Incompréhensible.

AnTrqx

Oups... Ca commence bien, je me suis planté de .h...

Voilà le bon :
Code C/C++ :
#ifndef ADVANCEDARRAY_H
#define	ADVANCEDARRAY_H

#include <iostream>

#include <cstdlib>
#include <ostream>

template <typename T>
class AdvancedArray {
    protected:
        unsigned int length;
        T* data;
        
    public:
        AdvancedArray();
        AdvancedArray(unsigned int aLength);
        ~AdvancedArray();

        unsigned int getLength() const;
        T& operator[](unsigned int i);
        void operator=(AdvancedArray<T> aAdvancedArray);
};

#endif	/* ADVANCEDARRAY_H */
samedi 28 mai 2011 à 23:28:00 | Re : Undefined reference to... Incompréhensible.

AnTrqx

Ok, problème résolu...

C'était encore le coup de l'erreur fantôme. Le makefile devait être erroné parce qu'en copiant toutes mes classes dans un nouveau projet, tout marche impec.

Bonne soirée.
samedi 28 mai 2011 à 23:32:21 | Re : Undefined reference to... Incompréhensible.

AnTrqx

Ok donc en fait, non, rien n'est résolu, j'ai parlé trop vite. Ca me fait toujours exactement la même chose...
dimanche 29 mai 2011 à 00:36:55 | Re : Undefined reference to... Incompréhensible.

AnTrqx

Mon Dieu je suis affligeant...

Je viens de me rappeler quand quand on définit un template, toutes les méthodes ont besoin de connaître le Type doivent être mis dans le .h...

Problème résolu ! Après quelques heures de galère.

Désolé du post inutile du coup :)
lundi 30 mai 2011 à 10:04:33 | Re : Undefined reference to... Incompréhensible.

buno

Administrateur CodeS-SourceS
Yop!
J'interviens un peu tard...mais pourquoi tu n'utilises pas la classe vector tout simplement?

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...


Cette discussion est classée dans : int, include, const, advancedarray, geneticcard


Répondre à ce message

Sujets en rapport avec ce message

Format de données [ par leskritiques ] Voici le programme que je veux modofier :#include "chaine.h"#include "entreeSortie.h"#include "chaine.cpp"#include "entreeSortie.cpp"int pgcd (const i VC++ 6 /recompilé sur VC++ 2005 [ par lui88 ] Bonjour , j'essai de recompilé mon programme sur VC++ 2005 , mais plein d'erreur s'affiche :s. j'en est reglé une grande partie mais là je n'y arrive b _arbres [ par angebrune8 ] Bonjour j'essaie d'implementer des b_arbres. Le soucis c'est que je dois lire et ecrire sur un dique en quoi celà consiste il exactement? De plus si q Boucle ne s'éxécute pas [ par Niwrad ] Bonjour à tous, Je suis plus ou moins débutant en programmation C, Je souhaite créer un programme (console) m'affichant une pyramide d'étoiles en fonc Problème avec type double / paramètre [ par DmX0rZ ] Bonjour,j'ai un problème qui me semble vraiment évident mais pour une raison inconnue, je ne comprens pas le comportement du programme... voilà, le pa Tableaux et C, aidez-moi! [ par phenix22000 ] Bonsoir à tous,quelqu'un peut-il m'aider pour m'expliquer comment savoir si un tableau contient déjà des éléments si on l'incrémente petit à petit...J Client(c++Builder)/Serveur(linux) [ par willixs ] Bonjour j'ai fait un socket client sur c++ builder et un serveur socket sur linux mais j'ai un probleme c'est que j'ai créé un tableau de caractères s Besoin d'aide en programmation C++ [ par yassinefugi ] Bonjour tous le monde; j'essaye de faire un programme mathématique en langage C++ qui sert à résoudre les équations différentielles , mais j'ai rencon ERREUR C2143 [ par alex64100 ] BONSOIR, le code suivant me donne des cheveux blancs !! il est bourré d'érreurs C2143. Pourtant j'ai vérifié les accolades, parenthèse, rien à faire Programmation C++ [ par laurentdav ] Bonjour,Je suis actuellement un peu perdu. Je dois inverser une matrice en utilisant GMRES, gradient pour les matrices non inversibles. Mon code sembl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,605 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales