Verwendung von 'void main' in D

8

Ich habe D-Code gesehen, der void main verwendet. Ist das legal? Wenn ja, ist auch die Rückgabe von void ( int ) legal? Warum ist das in der Sprache erlaubt?

    
Paul Manta 06.11.2011, 09:05
quelle

2 Antworten

11

Aus der D-Sprachreferenz

  

main () Funktion

     

Bei Konsolenprogrammen dient main () als Einstiegspunkt. Es wird aufgerufen, nachdem alle Modulinitialisierungen ausgeführt wurden und nachdem alle Untests ausgeführt wurden. Nach der Rückkehr werden alle Moduldestruktoren ausgeführt. main () muss mit einem der folgenden Formate deklariert werden:

%Vor%

So void main ist legal.

Aus den gleichen Dokumenten return statement Teil:

  

Eine Rückkehr beendet die aktuelle Funktion und liefert ihren Rückgabewert. Ausdruck ist erforderlich, wenn die Funktion einen Rückgabetyp angibt, der nicht ungültig ist. Der Ausdruck wird implizit in den Funktionsrückgabetyp

konvertiert

So scheint es, dass das Zurückgeben von etwas aus einer void-Funktion nicht explizit verboten ist (und dies in der Tat gut verarbeitet).

(Warum sollten Sie das trotzdem tun?)

    
Mat 06.11.2011, 09:25
quelle
0

Die folgenden Versionen der Funktion main() sind zulässig:

%Vor%

Die void main Versionen sind die gleichen wie die int main Versionen, wenn sie immer 0 oder throw zurückgeben.

    
Ralph Tandetzky 24.07.2012 16:20
quelle

Tags und Links