Bonjour je programme un simulateur de course auto en c++ et j'ai un gro prob avec mes classes.
en fait j'ai 2 classes :

//classe voiture :
#ifndef VOITURE_H
#define VOITURE_H

#include "Obstacle.h"
/*
* No description
*/
class Voiture
{
public:

...

// class constructor
Voiture();
// class destructor
~Voiture();

private:

Obstacle m_obstacleEnCours;
Obstacle m_Ligne_droite(1 , "Ligne droite" , 0);

};

#endif // VOITURE_H


Une classe Obstacles :

#ifndef OBSTACLE_H
#define OBSTACLE_H

/*
* No description
*/
class Obstacle
{
public:


// surcharge constructeur
Obstacle(int iden ,std::string nom , int effet);
// class constructor
Obstacle();
// class destructor
~Obstacle();

private:

//Attributs
std::string m_nom_obstacle;
int m_identifiant;
int m_effet;

};

#endif // OBSTACLE_H

Dans obstacle.cpp j'ai :
#include <string>
#include "Obstacle.h" // class's header file

using namespace std;



// class constructor
Obstacle::Obstacle() : m_identifiant(0) , m_effet(0) , m_nom_obstacle("obstacle_par_defaut")
{

}

// surcharge constructeur
Obstacle::Obstacle(int iden ,string nom , int effet) : m_identifiant(iden) , m_nom_obstacle(nom) , m_effet(effet)
{
}
// class destructor
Obstacle::~Obstacle()
{
}

Mon probleme est que lorsque je défini ma variable m_obstacleEnCours avec le constructeur simple mon prog l'accepte et compil mais lorsque ke je défini Obstacle m_Ligne_droite(1 , "Ligne droite" , 0) il ne compil pas. Mais je ne vois pas d'erreur.

Pourriez vous m'aider svp? merci d'avance.