Was ist der Unterschied zwischen void main und void main (void)?


Antwort 1:

void main (void) und void main () sind Fehler, die die meisten Compiler nicht zulassen. Die Hauptfunktion in C und C ++ gibt int zurück

prog.c: 1: 6: Fehler: Rückgabetyp von 'main' ist nicht 'int' [-Wmain]
 void main ()
      ^ ~~~

Wenn Sie diesen Fehler beheben, wird diese Frage tatsächlich interessant: Was ist der Unterschied zwischen int main (void) und int main ()?

Kommt auf die Programmiersprache an.

In C ++ sind sie identisch, mit der Ausnahme, dass das Ausschreiben (ungültig) für Funktionen, die keine Parameter haben, als fehlerhafter Stil betrachtet wird

In C sind sie unterschiedlich:

int main () ist ein Beispiel für die K & R-Deklaration. Eine so deklarierte Funktion kann mit einer beliebigen Anzahl von Argumenten aufgerufen werden:

Dies kompiliert (und stürzt zur Laufzeit ab) eine Live-Demo auf Wandbox

int main ()
{
    Hauptleitung (1,2,3);
}

int main (void) ist ein Beispiel für die Deklaration im C89-Stil. Eine so deklarierte Funktion darf nur mit Nullargumenten aufgerufen werden

Dies kompiliert keine Live-Demo bei Wandbox

int main (nichtig)
{
    Hauptleitung (1,2,3);
}