Resalut,

Désolé de reposter mais là je sèche sur une connerie...

Dans ma classe CLevel j'ai un constructeur par défaut en plus du constructeur. Quand j'appelle le constructeur avec les arguments depuis mon application, il n'y a aucun problème, mais si j'initialise avec le constructeur par défaut, mes briques ne s'affichent pas. Pourtant c'est exatctement le même code! En fait dans la console je vois que le destructeur 2 fois dont une directement après...

Voici le constructeur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
CLevel::CLevel(unsigned int nBricks, unsigned int nCols, unsigned int Offset, unsigned int widthBrick, unsigned int heightBrick)
{
	// Initialise la liste des briques
	for(unsigned int i=0; i<nBricks; i++)
	{
		// Pour placer les briques de façon homogène
		unsigned int xOrg = ( (widthBrick+5) * (i % nCols) ) + Offset;
		unsigned int yOrg = ( (heightBrick+5) * (i / nCols) ) + Offset;
 
		// Ajout des briques dans la liste chaînée
		m_brickList.push_back(new CBrick(255, 0, 0, xOrg, yOrg, widthBrick, heightBrick) );
	}
 
	cout <<"Constructeur de CLevel\n";
}
et le constructeur par défaut:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
// Constructeur par défaut
CLevel::CLevel()
{
	// Crée un niveau par défaut
	CLevel(240, 15, 10, 40, 30);
}
Dans le constructeur de l'application:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Level = new CLevel(240, 15, 15, 40, 30); // marche
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Level = new CLevel // marche pas!!