In der Schule haben wir heute mit C++ begonnen allerdings unter Windows. Ich habe daheim bereits ein wenig mit Linux rumgebastelt. Wenn ich nun das Hallo Welt script das ich in der schule bekommen habe unter linux commpilieren will kommt eine Fehlermeldung wegen dem VOID wenn ich es mache wie ich es bei mir zuhause gemacht habe als statt mit VOID mit INT funktioniert es mit VOID kommt eine Fehlermeldung.
C++:
#include <iostream>
usingnamespace std;
void main() { cout<<"Hello World!"; }
was kann hier der grund sein und was sollte ich verwenden??
Bearbeitung von FloSoft:
code mal geprettyprinted, Code Tags bitte selbst benutzen!
Dieser Post wurde am 02.08.2007 um 22:37 Uhr von FloSoft editiert.
das void funzt aber auch nur weil ihr wahrscheinlich bcb5 oder vc6 benutzt - jeder neuere compiler kennt den C++ Standard, und der schreibt "int main" vor. (und warnt es zumindest an unter windows wenn man void main benutzt, der gcc unter linux ab imho 3.4 akzeptierts nicht mehr bzw hats noch nie akzeptiert) -- class God : public ChuckNorris { };Dieser Post wurde am 02.08.2007 um 22:38 Uhr von FloSoft editiert.
das void funzt aber auch nur weil ihr wahrscheinlich bcb5 oder vc6 benutzt - jeder neuere compiler kennt den C++ Standard, und der schreibt "int main" vor. (und warnt es zumindest an unter windows wenn man void main benutzt, der gcc unter linux ab imho 3.4 akzeptierts nicht mehr bzw hats noch nie akzeptiert)
Fortgeschrittene Programmierer regen sich ganz gerne darüber auf und teilen dem Anfänger mit, daß das Programm wegen dieser Deklaration so grottenschlecht sei... Es ist... aber kein derart großes Problem, daß es die üblichen Flames rechtfertigen würde.
Amen.
- Tommix
Bearbeitung:
VS 2008 ("Codename Orcas") kennt void main auch noch. Das nenn' ich Traditionsbewußtsein.
Dieser Post wurde am 03.08.2007 um 16:41 Uhr von Tommix editiert.
int main() // int main( void ) ist equivalent int main( int, char** )
Alles andere ist schlichtweg falsch. Die Funktion main gibt immer ein int zurück!
Das mit den 'anderen' Rückgabetypen kommt noch von C Zeiten. Da war zwar auch ein int vorgeschrieben, aber jedem Compiler war es freigestellt noch andere Typen zu unterstützen.
Also ist...
C++:
void main()
...nach dem C99 Standard korrekt, nicht aber nach dem aktuellen C++ Standard!