Probleme en C

Mhidou -  
cedd Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
=+ - dis-je
0
cedd Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
+= -

désolé
0
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
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   Statut Membre Dernière intervention  
 
je suis dac pour la faute de frappe mais ça ne peux pas donner l'erreur illegal indirection par contre.
0