Probleme en C

Fermé
Mhidou - 20 juin 2003 à 21:35
cedd Messages postés 10 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 22 juin 2003 - 21 juin 2003 à 01:32
Bonjour,
Alors voila je tape le code suivant

int Compute_metric(double *y, double **w, unsigned int n, double amp)
{
// This function computes the metric m for each symbol using the received signal y
// and the signal amplitude amp
// y is the pointer to the received signal
// w is the pointer to the metric matrix (2^N rows, n columns)
// n is the length of y ( Frame_Length+M)
// amp is the amplitude of the signal

// ***** COMPUTE THE TRELLIS METRIC MATRIX *******

unsigned int i;
unsigned int l;

// for each transition compute the corresponding metric
for(i=0;i<n;i++) // For each transition
{
for( l=0;l<N;l++)
{
**(w+i) += - fabs(*(y+(n*i+l))-(*(x+l))*amp)**2;
}
}

// ***** END COMPUTING THE TRELLIS METRIC MATRIX ************
return(0);
}

Et il m'affiche l'erreur suivante : illegal indirection, concernant la ligne à l'intérieur de la boucle for(l=0...)
Merci de votre aide

5 réponses

cedd Messages postés 10 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 22 juin 2003
20 juin 2003 à 22:50
Je ne peux pas te dire exactement pourquoi ça ne compile pas mais je peux te dire que je trouve étrange ta déclaration double **w. Je suis certain que le problème se situe à cet endroit. De la façon que tu le déclare, c'est comme si tu as un tableau de pointeurs à des double, donc que le type de (*w) serait un *double. si c'est le cas, tu devrais faire: *((*w) + i) à la place de **(w+i). Si je me gourre et que ce n'est pas ça le problème, c'est surement le **2 qui est le problème: il n'y a pas d'opérateur de puissance en c++. Enfin, simple question d'esthétique, tu devrais faire -= à la place de =+ - .
0
cedd Messages postés 10 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 22 juin 2003
20 juin 2003 à 23:01
=+ - dis-je
0
cedd Messages postés 10 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 22 juin 2003
20 juin 2003 à 23:02
+= -

désolé
0
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
21 juin 2003 à 00:25
Salut !

for( l=0;l<N;l++)

C'est un erreur de frappe ? sinon ca devrait etre n
:o)

@+

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
0

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

Posez votre question
cedd Messages postés 10 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 22 juin 2003
21 juin 2003 à 01:32
je suis dac pour la faute de frappe mais ça ne peux pas donner l'erreur illegal indirection par contre.
0