Problem with Geometry Handler definition syntax, X11R3

Geoffrey Leach leach at tolerant.com
Thu Dec 28 09:17:25 AEST 1989


/*
**	These three typedefs are taken from the X11R3 Xt Intrinsics
**	header files.  
*/

typedef enum  { XtGeometryYes } XtGeometryResult;

typedef XtGeometryResult (*XtGeometryHandler)();

typedef struct _CompositeClassPart {
	XtGeometryHandler geometry_manager;
}		CompositeClassPart;

/*
**	Here's the problem code
*/

extern XtGeometryHandler foo();

CompositeClassPart ccp	= {
	foo
};

/*
**	And the result from the SVR3.2.2 cc is the warning:
**
**	"p.c", line 22: warning: illegal pointer combination, op =
**
**	The key to the complaint appears to be the fact that the
**	typedef is a pointer to a procedure returning an enum.
**	Is this a peculiarity of ATT's cc?  Anyone know of a workaround?
*/



More information about the Comp.lang.c mailing list