Dies ist KEINE Frage, wie die "impliziten Deklaration der Funktion" Warnungen, die in C-Programmen, die answered oft schon aufgetreten ist, zu lösen.Warum ist "implizite Funktionserklärung" nur eine Warnung?
Ich verstehe, dass dies eine Compiler-Warnung ist, was ich frage mich, warum ist das eine Warnung und nicht ein Fehler? Wenn der Compiler die Funktion nicht sehen kann, was passiert, wenn die Funktion zur Laufzeit aufgerufen wird? Kann der Linker dieses Problem lösen? Oder sollen wir annehmen, dass das Verhalten des Aufrufens einer Funktion, die eine solche Warnung erzeugte, unbekannt ist?
Sie müssen davon ausgehen, dass die Funktion eine beliebige Zahl oder Art von Argumenten annehmen und ein 'int' zurückgeben kann. Zumindest macht das der Compiler. Dies kann in zukünftigen Versionen der Spezifikation entfernt werden. – user3386109
Die implizite 'int'-Regel ist nicht mehr im Standard ..., kann aber immer noch als Erweiterung funktionieren. Ich glaube nicht, dass es im aktuellen Standard irgendwas gibt, das besagt, dass der Compiler * keine 'int'-Rückgabe annehmen kann, es ist einfach nicht mehr nötig (und sollte eine Diagnose ausgeben). – Dmitri