Void-Int
-
/* hello.c */
#include <stdio.h>void main(void)
{
printf("Hello, world!\n");
}Wenn ich das kompiliere bekomm ich eine Fehlermeldung:
hello.c:3: error: ‘::main’ must return ‘int’Wenn ich void durch int ersetze ggeht es:
/* hello.c */
#include <stdio.h>int main(void)
{
printf("Hello, world!\n");
}Wieso ist das so?
-
^^das ist laut c-standard so festgelegt. dumme sache, ich weiss. normalerweise gibt's nur ein warning bei 'void main'. wieso er dir 'nen error gibt, weiss ich auch nicht.
-
+fricky schrieb:
^^das ist laut c-standard so festgelegt. dumme sache, ich weiss. normalerweise gibt's nur ein warning bei 'void main'. wieso er dir 'nen error gibt, weiss ich auch nicht.
könnte vielleicht an den Optionen liegen. Bei gcc kann man z.b. alle Warnungen als Fehler durchgehen lassen, dann wird der Compilevorgang bei jeder Warnung abgebrochen.
-
Wenn mich nicht alles taeuscht, liegt dies daran (bin zu faul jetzt nachzuschauen), dass der POSIX-Std. einen Rueckgabewert fuer ein Programm verlangt.