Bonjour,

je ne connais que peu le langage C, et suis actuellement embourbé dans le problème suivant. J'ai cette fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
void*
Create()
{
  struct TModel* pModel;
/* ... */
  pModel = (struct TModel*)malloc(sizeof(struct TModel));
  memset(pModel, 0x0, sizeof(struct TModel));
 
/* remplit les champs de la structure */
  return (void*)pModel;
}
TModel est défini ailleurs, et jusque là tout va bien.

Je souhaite récupérer (dans une autre fonction) la structure ainsi fabriquée (pour lire certains de ses champs). J'avais cru que le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
struct TModel* pModel;
 
 pModel = (struct TModel*) Create;
fonctionnerait, mais... Sans générer d'erreur ou crasher le programme, il ne renvoit pas la bonne valeur des champs (je fais un test sur un champ entier initialisé dans Create() )
Il est possible que ça joue: j'utilise un compilateur C++ (le Visual Studio Express de Microsoft). Mon code est un code C (fichier .c en tout cas), mais il est dans un "projet" C++.

D'avance merci