Erreur : conversion from 'std::vector<Vehicule*>*' to non-scalar type 'std::vector<Vehicule*>' requested
je travail sur un exercice qui gère les véhicules d'un garage. J'ai une classe Vehicule et une classe Garage leurs prototype .h est :
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 27 28
| #ifndef VEHICULE_H
#define VEHICULE_H
#include <vector>
using namespace std;
class Vehicule
{
public:
Vehicule();
Vehicule(int ); //Construit un véhicule d'un certain prix
virtual void affiche() const;
virtual int nbrRoues()=0;
virtual ~Vehicule(); //Remarquez le 'virtual' ici
protected:
int m_prix;
};
class Garage: public Vehicule
{
private:
vector<Vehicule*> vhcl_garage;
public:
Garage();
void ajouter();
void supprimer();
virtual void affiche();
~Garage();
};
#endif // VEHICULE_H |
l'erreur est indiqué dans le fichier.cpp qui est comme suit :
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
| #include "Vehicule.h"
#include <iostream>
#include <cstdlib>
#include <vector>
using namespace std;
Vehicule::Vehicule()
{}
Vehicule::Vehicule(int prix)
:m_prix(prix)
{}
void Vehicule::affiche() const
//J'en profite pour modifier un peu les fonctions d'affichage
{
cout << "Ceci est un vehicule coutant " << m_prix << " euros." << endl;
}
Vehicule::~Vehicule() //Même si le destructeur ne fait rien, on doit le mettre !
{}
Garage::Garage()
:Vehicule()
{
std::vector<Vehicule>* vhcl_garage=new std::vector<Vehicule>;
} |
Citation:
Je voudrais savoir où est le problème ?!