[linux-l] Re: C++-Kommentare in C

Oliver Bandel oliver at first.in-berlin.de
Mo Okt 31 13:43:35 CET 2005


On Sun, Oct 30, 2005 at 02:45:13AM +0200, Pascal Volk wrote:
[...] 
> Ich meinte nicht, ich habe nur (zu) schnell aus dem Buch zitiert. Es geht
> aber um non-void Funktionen. In void Funktionen kann ein 'return ;'
> auftauchen.
> Bsp:
> pvo at el-presidente tmp $ cat file.c 
> #include <stdio.h>
> void sum(int, int);
> 
> int main (void)
> {
>     sum(1, 2);
>     return;
> }
> 
> void sum(int z1, int z2)
> {
>     printf("%d", z1+z2);
>     return;
> }
> pvo at el-presidente tmp $ gcc -Wall -W -pedantic -std=c99 -o test file.c 
> file.c: In function 'main':
> file.c:7: warning: 'return' with no value, in function returning non-void
> file.c:8: warning: this function may return with or without a value
> pvo at el-presidente tmp $  gcc -v 2>&1 | grep ver
> gcc version 4.0.2 (Debian 4.0.2-2)
> pvo at el-presidente tmp $ 
[...]

Fein. :)

Nun sollte er auch noch darauf bestehen, daß main() immer
int-Rückgabewert hat (zumindest bei Unix-/Linux-Targets),
dann ist das auch konsistent bezglich Rückgabewerten von
Prozessen unter Unix/Linux.
Ansonsten gibt man bei "void main()" nix zurück, aber
der Prozess muß einen Wert zurück geben => welchen Wert nimmt man da?

                                        => undefiniertes Verhalten.


Ciao,
   Oliver



Mehr Informationen über die Mailingliste linux-l