Probleme avec le vector::clear
Bonjour,
J'ai un problème avec la fonction clear de la classe std::vector.
J'ai une classe virtuelle:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
class IActiveObject
{
public:
/////////////////////////////////////////////////////
// public operations
/////////////////////////////////////////////////////
virtual ~IActiveObject(){};
virtual void addActiveContener(IActiveContainer *container)=0;
virtual void removeActiveContener(IActiveContainer *container)=0;
}; |
Et une autre classe:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
template <class T>
class TActiveContainer : public IActiveContainer
{
private:
/////////////////////////////////////////////////////
// private associations
/////////////////////////////////////////////////////
Vector<IActiveObject*> elements;
IActiveContainer* src;
public:
/////////////////////////////////////////////////////
// public operations
/////////////////////////////////////////////////////
inline TActiveContainer();
......
};
template <class T>
TActiveContainer<T>::TActiveContainer()
{
this->elements.clear();
this->src = NULL;
assert(this->elements.size() != 0);
} |
Problème: Quand je passe dans le constructeur de TActiveContainer, le assert se met en action et le programme plante.
Ce qui veut dire que le vecteur n'est pas vide!!!
Je ne comprend rien à tout ça. Une idée?