Sowas lernt man also an der Uni



  • Man muss ja auch nicht aus jeder Mücke nen Elefant machen. Welcher Professor kann schon programmieren?!



  • CodeFinder schrieb:

    return (0);
    

    wenn du die klammern da nicht beseitigst kloppen wir dich auch in die tonne 😉



  • CodeFinder schrieb:

    Also wenn das Dein Prof. geschrieben hat, dann klopp ihn inne Tonne, das ist vollkommener Schwachsinn 😃 .
    Hier so musset heißen:

    #include <iostream>
    
    using namespace std;
    
    int main() // geht auch mit void, aber unüblich/Ansichtsache
    {
      cout << "Hello World!";
      return (0);
    }
    

    ob void als main typ - was ich jetz annehme dass du meinstest - ist keine ansichts- sondern compilersache. laut spezifikation MUSS es int sein. Manche gütigen compiler machen dann automatisch int draus



  • Konrad Rudolph schrieb:

    Man muss ja auch nicht aus jeder Mücke nen Elefant machen. Welcher Professor kann schon programmieren?!

    Ich 😃 . Das sind so gravierende Fehler, da mach ich aus ner Mücke keinen Elefant sondern n Blauwahl :p .

    vista schrieb:

    CodeFinder schrieb:

    return (0);
    

    wenn du die klammern da nicht beseitigst kloppen wir dich auch in die tonne 😉

    Ist legitim 😉 .

    piXelshooter schrieb:

    CodeFinder schrieb:

    Also wenn das Dein Prof. geschrieben hat, dann klopp ihn inne Tonne, das ist vollkommener Schwachsinn 😃 .
    Hier so musset heißen:

    #include <iostream>
    
    using namespace std;
    
    int main() // geht auch mit void, aber unüblich/Ansichtsache
    {
      cout << "Hello World!";
      return (0);
    }
    

    ob void als main typ - was ich jetz annehme dass du meinstest - ist keine ansichts- sondern compilersache. laut spezifikation MUSS es int sein. Manche gütigen compiler machen dann automatisch int draus

    Nein das meinte ich nicht, ich meinte das:
    int main() <-> int main(void) ⚠ .



  • Die compiler die void main() annehmen sind die gleichen, die sich beschwehren wenn man bei int main() das return weglässt, was meines Wissens nach Standart erlaubt ist?



  • darthdespotism schrieb:

    Die compiler die void main() annehmen sind die gleichen, die sich beschwehren wenn man bei int main() das return weglässt, was meines Wissens nach stan**** erlaubt ist?

    Nein ist IMHO nicht erlaubt.


  • Mod

    CodeFinder schrieb:

    darthdespotism schrieb:

    Die compiler die void main() annehmen sind die gleichen, die sich beschwehren wenn man bei int main() das return weglässt, was meines Wissens nach stan**** erlaubt ist?

    Nein ist IMHO nicht erlaubt.

    Ist zum Glück keine Frage des Meinens. Im Übrigen bist du im Irrtum.



  • In main darf das return weggelassen werden. Es wird implizit einen Wert von 0 angenommen. Ist aber die einzige Funktion bei der das geht.



  • CodeFinder schrieb:

    darthdespotism schrieb:

    Die compiler die void main() annehmen sind die gleichen, die sich beschwehren wenn man bei int main() das return weglässt, was meines Wissens nach stan**** erlaubt ist?

    Nein ist IMHO nicht erlaubt.

    Doch, ist erlaubt.

    Folgende Regeln gelten für 'main':

    - der Rückgabewert ist stets 'int';
    - die Parameterliste ist entweder leer oder 'int, char**';
    - die explizite Rückgabe eines Werts ist optional.

    /EDIT: Grr, ich übersehe immer, dass der Thread bereits eine zweite Seite hat.



  • + &main ist n.def.
    + Rekursion von main ist n.def.
    iirc



  • Konrad Rudolph schrieb:

    Man muss ja auch nicht aus jeder Mücke nen Elefant machen. Welcher Professor kann schon programmieren?!

    Naja der Standard ist ja jetzt nicht wirklich neu, da kann man schon erwarten das die Professoren das nach ein paar Jahren auch können. Ich zahl ja nicht umsonst die 500 € Studiengebühren.



  • Konrad Rudolph schrieb:

    Folgende Regeln gelten für 'main':
    - der Rückgabewert ist stets 'int';
    - die Parameterliste ist entweder leer oder 'int, char**';
    - die explizite Rückgabe eines Werts ist optional.

    und die regel dass 'main' noch nicht mal main heissen muss 😃



  • Problem schrieb:

    ja der hat das so hingeschrieben.. ich werde ihm am montag in der sprechstunde besuchen

    *lach*
    immer schön vorsichtig.. der prof gibt die note 😉



  • @vista: Uh, doch, main muss die schon heißen. Steht im Standard drin, Punkt 3.6.1.1:

    A program shall contain a global function called main, which is the designated start of the program. (...)

    Eine Ausnahme wird lediglich für sog. freestanding implementations gemacht (im Gegensatz zu hosted), dabei gehts um Programme, die ohne Betriebssystem o.ä. laufen müssen. Also zum Beispiel Betriebssysteme selbst.



  • seldon schrieb:

    @vista: Uh, doch, main muss die schon heißen. Steht im Standard drin, Punkt 3.6.1.1:

    A program shall contain a global function called main, which is the designated start of the program. (...)

    Eine Ausnahme wird lediglich für sog. freestanding implementations gemacht (im Gegensatz zu hosted), dabei gehts um Programme, die ohne Betriebssystem o.ä. laufen müssen. Also zum Beispiel Betriebssysteme selbst.

    so isses 😉
    da muss sie nicht 'main' heissen...
    🙂



  • WoW, ein Prof der nicht 100%ig programmieren kann. Ich bin schockiert!!11



  • Problem schrieb:

    Ich zahl ja nicht umsonst die 500 € Studiengebühren.

    Doch. (!)



  • CodeFinder schrieb:

    darthdespotism schrieb:

    Die compiler die void main() annehmen sind die gleichen, die sich beschwehren wenn man bei int main() das return weglässt, was meines Wissens nach stan**** erlaubt ist?

    Nein ist IMHO nicht erlaubt.

    Ja, aber bloss weil du nix weisst. Das IST erlaubt.
    (also kein return in "int main()" IST, "void main()" ist NICHT erlaubt)



  • warum wird gleich wieder auf den Profs so rumgehackt? Es sind auch nur menschen, du studierst nicht um c++ zu lernen. Programmiersprachen ändern sich, du lernst eine vorgehensweise. Du lernst wie programmiere ich richtig von der Pike auf. Und nicht wie schreibe ich möglichst kryptisch irgendwelchen quellcode. C++ ist nur ein mittel zum zweck. Ein Weg zum Ziel. Im studium wird dir der weg gezeigt wie du selber diesen Weg findest ohne das dich jemand dauernd dort führt. Ich verstehe einfach nicht wie jeder gleich sofort sagt "Prof ist scheiße" Weil er nicht ach so perfekt wie manch anderer hier ist. Klar stimme ich auch mit meinen Profs nicht in jeder hinsicht überein. Und klar bin ich in manchen spezialgebieten besser als der Prof. Aber das liegt daran das sie nunmal menschen sind, sie können nicht alles wissen. Sie lernen ebenso dazu. Und oftmals machen sie auch was was nicht ihr fachgebiet ist. Die Informatik hat sich so wirklich erst um 1950 entwickelt. So alt ist das nicht. Viele Profs haben damals noch E-Technik und sowas studiert. Sie sind einfach quereinsteiger. Und müssen dann manchmal noch in gebieten was anbieten wo sie eigentlich gar nicht gut drauf sind. Und wo bitte anders als "Hello World" soll angefangen werden? Haben wir auch in Java. Wo ist das Problem. Es gibt genügend leute die Informatik studieren und OOP nicht kennen. Oder überhaupt programmieren können. Also mal nicht so auf den Profs rumhacken.



  • CodeFinder schrieb:

    darthdespotism schrieb:

    Die compiler die void main() annehmen sind die gleichen, die sich beschwehren wenn man bei int main() das return weglässt, was meines Wissens nach stan**** erlaubt ist?

    Nein ist IMHO nicht erlaubt.

    doch, ist erlaubt.


Anmelden zum Antworten