Errore su seconda }

di il
5 risposte

Errore su seconda }

Salve a tutti,
ho la seguente funzione:

/*===== Calcolo V =====*/
void Beta (double d[][4], double c[][1], double v[][1], int r1, int c1, int c3)
{
	int i, j, k;


	for (i=0; i < r1; i++)
	for (j=0; j < c3; j++)
	for (k=0; k < c1; k++)
	v[i][j] += d[i][k] * c[k][j];

	for (i=0; i < r1; i++)
	for (j=0; j < c3; j++)
	v[i][j]=v[i][j]/2;
} 
L'IDE mi segnala il seguente errore sulla seconda }...
Multiple markers at this line
	- Syntax error
	- expected declaration or statement at end 
	 of input
Ma non ci dovrebbe essere alcun errore.

Sto usano Kinetis Design Studio della Freescale. Ma fino ad ora ha funzionato correttamente.
Cosa può essere?

Grazie per ogni aiuto

5 Risposte

  • Re: Errore su seconda }

    Non ci sono errori ma come chiami la funzione nel main?
  • Re: Errore su seconda }

    Non la chiamo direttamente dal main ma un'altra funzione...comunque la chiamata è:
    Beta ( Inv, prod2, v, 4, 4, 1);
    dove:
    Inv[4][4]= {{0,0,0,0},
    		{0,0,0,0},
    		{0,0,0,0},
    		{0,0,0,0}};
    
    prod2[4][1]= {{0},{0},{0},{0}},
    
    v[4][1]= {{0},{0},{0},{0}},
    Probabilmente è qualche indice...
  • Re: Errore su seconda }

    Perché le , finali ?

    prod2[4][1]= {{0},{0},{0},{0}},

    v[4][1]= {{0},{0},{0},{0}},
  • Re: Errore su seconda }

    Risolto, era una parentesi che mancava in un'altra funzione di sopra...

    Ora però mi da un altro errore...

    Nel main() chiamo la funzione
    iecompass();
    e incudo
    #include "eCompass/compass.h"
    Questa funzione è presente in un altro foglio compass.c chiamata
    static void iecompass()
    al quale è incluso
    #include "../eCompass/compass.h"
    .

    Abbianato a questo fogio ho fatto un foglio di intestazioni compass.h dove la definisco
    static void iecompass();
    Ho due errori
    undefined reference to `iecompass'
    e nel compass.h
    'iecompass' used but never defined 
    E' la prima volta che faccio i .h...
  • Re: Errore su seconda }

    Una funzione static può essere richiamata solo dallo stesso .c in cui è presente.
    Trasforma:
    static void iecompass()
    in
    void iecompass()
Devi accedere o registrarti per scrivere nel forum
5 risposte