Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!ucbcad!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: VOID (was 32bit = 16bit x 16bit) Message-ID: <8710211851.AA07972@cory.Berkeley.EDU> Date: Wed, 21-Oct-87 14:51:32 EDT Article-I.D.: cory.8710211851.AA07972 Posted: Wed Oct 21 14:51:32 1987 Date-Received: Sat, 24-Oct-87 05:47:58 EDT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 32 : I think your VOID definition is broken. In the file :exec/interrupts.h is the structure: : :struct Interrupt { : struct Node is_Node; : APTR is_Data; : VOID (*is_Code)(); :}; That means 'pointer to function returning nothing' : Then, later on, when I try and do this: : :foo () :{ : extern long bar(); : : interrupt.is_Code = (VOID) bar; :} : : ...my compiler throws up. Something about an invalid use of the :'void' declaration. I have Manx 3.4b. You are attempting to cast a function returning a long into... nothing, which certainly does not match a function returning void. This is what you want: interrupt.is_Code = (void (*)())bar; Casting bar into a function returning nothing. -Matt