[C++] "référence indéfinie" sous Code::Blocks

Résolu
prypiat_child Messages postés 1344 Date d'inscription   Statut Membre Dernière intervention   -  
prypiat_child Messages postés 1344 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Lorsque je compile le code suivant (retranscrit ici en partie) sous Code::Blocks, avec GNU GCC comme compilateur, j'ai droit à l'erreur suivante :
"Référence indéfinie vers Test::_e" à l'endroit en gras dans le code.

Sachant que je n'initialise pas le vecteur dans mon constructeur... Je ne pense pas que cela soit nécessaire...
Enfin, plus exactement, je n'ai pas trouvé comment l'initialiser (le seul constructeur de vector() qui me serait utile étant celui qui prend une taille size_t en paramètre, mais impossible de l'utiliser de plus, cela fixerait une taille définitive au vecteur si j'ai bien compris ? ce qui n'est pas mon but)

Test.h
-------------------------------------
#ifndef TEST_H  
#define TEST_H  
#include <iostream>  
#include <vector>  
#include "Ensemble.h"  

class Test  
{  
    int _tx, _ty;  
    int **_m;  

    static std::vector<Ensemble> _e;  

    public:  

    Test(int tx, int ty);  
    ~Test();  
    Ensemble *getTous()const;  
    int getNbEnsembles()const;  
    int getTX()const;  
    int getTY()const;  
    void ajouterEnsemble(Ensemble e)  
    {  
        _e.push_back(e); 
    }  
};  

#endif  


Le problème étant donc cette erreur de compilation. Je vois l'absence d'initialisation du vecteur comme une piste de résolution, mais je reste bloqué^^

Quelqu'un aurait-il une piste ? Merci d'avance !!

"Il siiiiigne a la pointe de son épééééée, d'un W qui veut dire WORROOOOOO !!!!"
A voir également:

1 réponse

prypiat_child Messages postés 1344 Date d'inscription   Statut Membre Dernière intervention   272
 
Résolu !


Il s'agissait bien d'un souci d'initialisation : il fallait ajouter ceci dans le .cpp :


std::vector<Ensemble> Test::_e = std::vector<Ensemble>();
0