Informationen zur Funktion main()
Nach oben zu Funktion main() - Index
Alle in C und C++ geschriebenen Programme müssen über eine Startfunktion verfügen:
- Konsolenbasierte Programme rufen beim Programmstart die Funktion
main
und für UNICODE-Programme die Funktionwmain
auf. - Windows GUI-Programme rufen beim Programmstart die Funktion
Main
und für UNICODE-Programme die FunktionwWinMain
auf.
Wo die Startfunktion im Programm definiert wird, ist eine Frage der persönlichen Präferenz. Manche Programmierer definieren die Funktion main
am Anfang der Datei, andere am Ende. Unabhängig von der Position sind stets folgende Punkte bei der Funktion main
zu beachten.
- _TCHAR-Zuordnung (für UnicodeString, _tMain und _tWinMain)
- Argumente der Funktion main()
- Argumente mit Platzhalterzeichen
- Verwenden von -p (Pascal-Aufrufkonventionen)
- Rückgabewert von main()
Für unsere C++-Compiler, die durch Clang erweitert wurden, (BCC64, BCCIOSARM und BCCAARM) müssen nun Deklarationen in C++ einen Typ haben. Deshalb wird jetzt beispielsweise ein Fehler ausgegeben, wenn WinMain wie im folgenden Beispiel keinen Rückgabetyp hat:
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
...
}
Der obige Code erzeugt nun den folgenden Fehler:
- C++ requires a type specifier for all declarations
Aktualisieren Sie den Code folgendermaßen, um diesen Fehler zu beheben:
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
...
}