bonjours, j'ai cette liste :

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
typedef struct CreaPile
{
		char *			p_federate;
		int				p_lrcTn;		
		int				p_localTn;		
		int				p_deltaT;		
		char *			p_nat;		
		char *			p_src;		
		int				p_azimuth;
		int				p_range;
		char *			p_latitude;
		char *			p_longitude;
		int				p_course;
		int				p_speed;
		char *			p_name;
		char *			p_environment;
		char *			p_trackIndentity;
		char *			p_trackPriId;
		char *			p_trackSecId;
		struct CreaPile *prec;
} CreaPile ;
je veux faire une fonction pour ajouter un élément :

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
void CPile::Push(CreaPile **p, char * federate, int lrcTn, int localTn, int deltaT, char * nat, char * src,
				 int azimuth, int range, char * latitude, char * longitude, int course, int speed, 
				 char * name,	char * environment, char * trackIndentity, char * trackPriId,
				 char *	trackSecId)
{
        CreaPile *element = malloc(sizeof(CreaPile));
        if(!element) return;     /* Si l'allocation a échouée. */
 
		element->p_federate = federate;
		element->p_lrcTn = lrcTn;		
		element->p_localTn = localTn;		
		element->p_deltaT = deltaT;		
		element->p_nat = nat;		
		element->p_src = src ;		
		element->p_azimuth = azimuth;
		element->p_range = range;
		element->p_latitude = latitude;
		element->p_longitude = longitude;
		element->p_course = course;
		element->p_speed = speed;
		element->p_name = name;
		element->p_environment = environment;
		element->p_trackIndentity = trackIndentity;
		element->p_trackPriId = trackPriId;
		element->p_trackSecId = trackSecId;
 
        element->prec = *p;
        *p = element;       /* Le pointeur pointe sur le dernier élément. */
 
}
mais il me met cette erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
C:\ConsoleHLA\modules\Scenario_Rejeu_management\Src\Pile.cpp(39) : error C2440: 'initializing' : cannot convert from 'void *' to 'struct CreaPile *'
        Conversion from 'void*' to pointer to non-'void' requires an explicit cast
Error executing cl.exe.
pour cette ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
CreaPile *element = malloc(sizeof(CreaPile));
POur quelle raison?