🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: dnet.general
Article #1918

Re: void* in function prototype in ANSI C

#1918
From: Matthias Frei
Date: Mon, 25 Sep 1989 08:33
28 lines
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!frei
References: <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