Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

rootnode

Frischling

Beiträge: 92

Wohnort: Aachen, Pontstraße

Beruf: Student

  • Private Nachricht senden

11

09.01.2008, 01:11

Rückgabetyp void wird aber auch teilweise akzeptiert

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

09.01.2008, 09:09

Zitat von »"rootnode"«

Rückgabetyp void wird aber auch teilweise akzeptiert


jo, aber das entspricht dann nicht dem standard ;)

13

09.01.2008, 09:36

Zitat von »"David_pb"«


Weiterhin wird einem konformen Compiler offen gelassen ob weitere Versionen zur verfügung stehen dürfen, wichtig ist das jede dieser Versionen ein Rückgabewert vom Typ int hat.

Nicht ganz. der Compiler definiert 2 versionen die der Compiler annehmen muss, aber daneben kann der Compiler jede beliebige andere Signatur annehmen, auch mit void als rückgabewert. Dies ist dann aber implementation defined.

Zitat ausm standard

Zitat


3.6.1.2:
An implementation shall not predefine the main function. This function shall not be overloaded. It shall have a return type of type int, but otherwise its type is implementation-defined.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

14

09.01.2008, 09:56

Jaja, der alte Hut! :)

Zitat von »"Struppi"«


A conforming implementation may provide more versions of main(), but they must all have return type int. The int returned by main() is a way for a program to return a value to "the system" that invokes it. On systems that doesn't provide such a facility the return value is ignored, but that doesn't make "void main()" legal C++ or legal C. Even if your compiler accepts "void main()" avoid it, or risk being considered ignorant by C and C++ programmers.
@D13_Dreinig

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

15

09.01.2008, 10:35

Zitat von »"otze"«

Zitat ausm standard

Zitat


3.6.1.2:
An implementation shall not predefine the main function. This function shall not be overloaded. It shall have a return type of type int, but otherwise its type is implementation-defined.


hehe, jo dem irrtum bin ich auch mal erlegen. aber lies nochmal ganz genau was dort steht:

Zitat von »"C++ Standard 2003"«


It shall have a return type of type int, but otherwise its type is implementation-defined.


das bedeutet, der return type muss int sein, der rest der signatur bleibt der implementation überlassen...

Das Gurke

Community-Fossil

  • »Das Gurke« ist der Autor dieses Themas

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

16

09.01.2008, 12:35

Ich bin mittlerweile auf die "nicht C++" Version zurückgefallen. Einige gccs kamen mit std::sqrt bzw std::acos klar, andere nicht. Weswegen auch immer ...

Werbeanzeige