Dimensionner un tableau de structure

chbjd Messages postés 5 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 6 février 2004 - 5 févr. 2004 à 04:00
chbjd Messages postés 5 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 6 février 2004 - 6 févr. 2004 à 13:54
Bonjour,

Depuis une application développée sous WINDEV, je souhaite appeller une DLL (dev en C++) :

Proc_Calcul(Enr_Montant *T_Montant)

Depuis cette application, je passe un tableau de structure à la DLL :

typedef struct
{
int Dat;
float Mt1;
float Mt2;
float Mt3;
} Enr_Montant;

Au debut de ma procédure, j'ai un traitement qui va déterminer de combien d'éléments va être constitué mon tableau.

Voilà mon problème, je ne sais pas comment dimensionner dynamiquement ce tableau et aussi comment faire un RAZ de ce tableau (0 élément).

En fin de procédure, mon tableau doit contenir des éléments que je vais pouvoir lire depuis mon application.

Je vous remercie grandement de l'aide que vous pourrez m'apporter car je suis un peu "paumé" :)

...je ne suis pas un pro du C++...

Christophe

6 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
5 févr. 2004 à 06:27
"...je ne suis pas un pro du C++..." pas grave c'est du C ca !

// calloc initialise les octets a 0
T_Montant=calloc(n,sizeof Enr_Montant);
0
chbjd Messages postés 5 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 6 février 2004
5 févr. 2004 à 08:51
Bonjour djl,

Merci de ta réponse.

Je viens de tester et j'ai ce message d'erreur :

error C2440: '=' : cannot convert from 'void *' to 'Enr_Montant *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast

J'y croyais dur comme fer, proche de la solution et voilà qu'une nouvelle erreur est survenue... (la Xmillième :sad) )

Merci de ton aide.

Help, Help, Help ...

Christophe
0
chbjd Messages postés 5 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 6 février 2004
5 févr. 2004 à 11:54
Y'a t'il un sauveur parmi vous ??? :blush)
0
chbjd Messages postés 5 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 6 février 2004
5 févr. 2004 à 12:04
Ou alors, une autre solution ?

Je pars du principe que je passe ce même tableau de structure déjà taillé (par exemple à 3000 occurrences) et je souhaite uniquement l'initialiser avec des ZERO sans avoir à le parcourir via une boucle.

Comment faire ???

Merci de vos réponses.

Christophe
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
5 févr. 2004 à 15:52
desole c'est presque ca en effet, le compilo ne convertit uniquement les types de bases, la c'est une struct, suffit de caster

T_Montant=(Enr_Montant *)calloc(n,sizeof Enr_Montant);

maintenant je pense que ca devrait marcher !!!
0
chbjd Messages postés 5 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 6 février 2004
6 févr. 2004 à 13:54
Bonjour,

En effet, ca fonctionne désormais.. Ouf !!!!
Un grand merci pour cette aide...

Bon week end,
Christophe
0
Rejoignez-nous