Bonjour,

je suis en train de développer une classe c++ qui hérite d'une autre classe à laquelle je n'ai pas accès et à l'appel d'une méthode de la classe mère pour initialiser un attribut, ça plante: std::bad_alloc.

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef VEHICLE_CPP
#define VEHICLE_CPP
 
#include "Vehicle.h"
 
Vehicle::Vehicle() : PEADOS::Vehicle()
{
}
 
Vehicle::~Vehicle(void)
{
}
 
string Vehicle::getIdent(void)
{
	return ident;
}
 
void Vehicle::setVehicle(Interface::Vehicle* vehicle)
{
	ident = vehicle->ident();
	groupIdent = vehicle->groupIdent();
	string m_type = vehicle->type();
	setType(m_type);
	setFuel(vehicle->fuel());
	setPosition(vehicle->positionV()->x(), vehicle->positionV()->y(), (double)0);
	return;
}
 
#endif
J'appelle la méthode comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Vehicle* newVehicle = new Vehicle();
newVehicle->setVehicle(vehic);
et ça plante au niveau du setType uniquement, les autres set de la classe mère fonctionnent bien.

Quelqu'un voit une erreur?

Merci d'avance pour vos réponses.