Bonjour,
Voici mon code, il recopie un vecteur encapsulé dans une structure, ci dessous :
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
/* un vecteur n'ai pas une l-value => vecteur_1 = vecteur_2 impossible pour recopier les elements d'un vecteur
* Cependant une structure est une l-value => structure_1 = structure_2 est possible
* Ansi dans ce programme nous allons encapsuler un vecteur dans une structure afin de recopier ses éléments */
#define ELEMENT(x,i) ((x).VECTEUR[i])
#define NOMBRE_DE_JOUR 7
struct semaine
{
float VECTEUR[NOMBRE_DE_JOUR];
};
int main(void)
{
// Declaration d'une structure semaine nommée tmp
struct semaine tmp;
// On affecte les valeurs à tmp
for(int i = 0; i < NOMBRE_DE_JOUR; i++)
ELEMENT(tmp,i) = 1.0 / pow(2,i);
struct semaine resultat = tmp;
for(int i = 0; i < NOMBRE_DE_JOUR; i++)
printf("%f ", ELEMENT(resultat, i));
printf("\n");
return EXIT_SUCCESS;
}
J'ai bien inclus la bibliothèque <math.h> et je compile avec cette ligne de commande : gcc -lm fichier.c -o fichier.exe donc je link bien <math.h>
Cependant j'ai toujours cette erreur :
/tmp/ccujjboD.o : Dans la fonction « main » :
structure.c:(.text+0x3a) : référence indéfinie vers « pow »
collect2: error: ld returned 1 exit status
Je ne comprends pas pourquoi es ce que quelqu'un pourrai m'aider ?