PDA

Visualizza la versione completa : [C] dimesione array dentro un typedef


frodo_jedi
24-06-2009, 13:00
Ciao a tutti,
ho questo problema e non riesco a venirne fuori.
Voglio definire la dimensione di un array dentro una typedef. LŽarray é un array di una struct definita in precedenza (struct _priv_state_biquad).
Ho scritto allŽinizio del programma #define max_N 10; (ho provato anche con
static const int max_N = 10;), ma il programma dá errore alla riga dove uso la variabile max_N (ovvero state_biquad F_array[max_N];)

Ecco il codice:



#define max_N 10;


typedef struct _priv_state_biquad{
float w_nm1; //w(n-1)
float w_nm2; //w(n-2)
}state_biquad;



typedef struct{

struct _priv_friction{
int N ;/**< Number of zeros and poles. NOTE: N Must be a multiple of 2 and greater than 0*/
float h ;/**< Density of the poles per frequency decads*/
state_biquad F_array[max_N];

} priv; /**< Instance of the substructure */

} t_friction_interactor;

YuYevon
24-06-2009, 13:26
Rimuovi il ; dopo la #define. Le direttive al precompilatore non vanno terminate con ;
In pratica in quel modo stai definendo max_N non come 10, ma come 10; che è un'istruzione e non una costante (ovviamente un'istruzione senza alcun effetto).

frodo_jedi
24-06-2009, 13:35
GRAZIE.

Non me ne ero accorto :dhò:

Loading