On Wed, 16 Jul 2003, Brian Sheehan wrote:
I'm having problems trying to define an array of type t_outlet. here's the code: The compiler (gcc3 w/ Project Builder) gives this error: shapetape.c:17: field `outlets' has incomplete type I noticed in m_pd.h that t_outlet is #define'd to EXTERN_STRUCT _outlet; Does this mean to include some other header for the definition of _outlet? The only place I could find a definition was m_obj.c...
No, outlet structs are only to be produced by the outlet constructor, called outlet_new(). It must be called with a t_object argument, and a type specifier symbol.
You must use pointers to refer to outlets.
In my code I have something like this that does automatic generation of a variable number of outlets for all of my objects:
self->bself->out = new t_outlet*[noutlets]; for (int i=0; i<noutlets; i++) { self->bself->out[i] = outlet_new(self->bself,&s_anything); }
self->bself is a BFObject, subclass of t_outlet. self->bself->out is a t_outlet **.
________________________________________________________________ Mathieu Bouchard http://artengine.ca/matju