Peter Haase writes: > //Forward declaration: > struct gsl_rng; Just to confirm Atakan's reply, it's legal to make a typedef for an incomplete struct. typedef struct gsl_rng gsl_rng;