Article View: dnet.general
Article #1918Re: void* in function prototype in ANSI C
From: Matthias Frei
Date: Mon, 25 Sep 1989 08:33
Date: Mon, 25 Sep 1989 08:33
28 lines
1592 bytes
1592 bytes
luik@isaak.uucp (Andreas Luik) writes: >ANSI C, d. h. ist es richtig, wenn ein Compiler die Meldung bringt: > Warning: assignment of incompatible types in line 7 >int func(char *cp, int i); > int (*fp)(void *ip, int i); > fp = func; Ich meine, der Compiler verhaelt sich korrekt, und zwar aus folgender Ueberlegung: fp ist ein Function-Pointer, der *benutzt* werden kann, um eine Funktion aufzurufen, die ein Pointer auf *irgendeinen* Typ als erstes Argument bekommt. Weist Du nun fp auf func() zu, dann schraenkst Du die Freiheit, die fp durch den Prototyp hatte, ein. Das heisst, nach dieser Zuweisung stellt der Prototyp von fp keine Typenkonsistenz fuer func() mehr sicher !!! --> Eigentlich ist eine Warning noch zu wenig ! Matthias Frei -- Matthias Frei | Snail-mail: | Microelectronics Center frei@mez.e-technik.uni-bochum.de | University of Bochum, W-Germany frei%rubmez@unido.BITNET | D-4630 Bochum, P.O.-Box 102143
Technical Details
Message-ID:
<295@mez.e-technik.uni-bochum.de>Path:
arc1-ca.pugleaf.net!gmdzi!unido!mez!freiReferences:
<1558@isaak.UUCP>Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII-7-bit X-Google-Thread: 10dc06,b91310e90d986cbc X-Google-Attributes: gid10dc06,public X-Google-ArrivalTime: 1989-09-25 05:16:02 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!mez!frei From: frei@mez.e-technik.uni-bochum.de (Matthias Frei) Newsgroups: dnet.general Subject: Re: void* in function prototype in ANSI C Keywords: ANSI C, gcc, void*, function prototypes Message-ID: <295@mez.e-technik.uni-bochum.de> Date: 25 Sep 89 08:33:11 GMT References: <1558@isaak.UUCP> Distribution: dnet Organization: Ruhr Universitaet Bochum, W-Germany Lines: 28 Posted: Mon Sep 25 09:33:11 1989