Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site mit-athena.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!harvard!talcott!panda!genrad!decvax!mit-athena!martillo From: martillo@mit-athena.UUCP (Joaquim Martillo) Newsgroups: net.unix,net.bugs.4bsd Subject: Re: Compiler bug Message-ID: <215@mit-athena.UUCP> Date: Wed, 8-May-85 23:29:24 EDT Article-I.D.: mit-athe.215 Posted: Wed May 8 23:29:24 1985 Date-Received: Sat, 11-May-85 08:54:08 EDT References: <1136@sjuvax.UUCP> Organization: MIT Project Athena Lines: 17 Xref: linus net.unix:3865 net.bugs.4bsd:1209 extern int usr1(), usr2(), usr3(); int usrprocs[] = { usr1, usr2, usr3 }; Should not compile (with compiler errors not liner errors) since you have an illegal combination of pointers and integers. The proper way to do this is: extern int usr1(), usr2(), usr3(); int (*(usrprocs[]))() = { usr1, usr2, usr3 }; which should be fairly obvious if you think about it. There are of course misimplementations of the C compiler floating around.