Ergebnis 1 bis 5 von 5

Thema: C++ Startschwierigkeit(en)

  1. #1

    C++ Startschwierigkeit(en)

    Also entweder vermitteln mir die Tutorials das Falsche, oder das Richtige falsch.
    Selbst die kleinsten Programmbeispiele funktionieren nicht, ohne mir eine Fehlerflut auszugeben. Ich nutze den Bloodshed- Editor, der ja auch gleich mit einigen Beispielprogrammen geliefert wird, die auch alle einwandfrei laufen, aber schon eine ganz andere Struktur aufweisen, als der Tutorial- Code.

    #include <iostream.h>

    void int
    {
    };

    So heißt es zumindest in der ersten Lektion im von mir verwendeten Tutorial (in den anderen sieht es halt auch nicht anders aus). Anstatt void soll int hin und aus iostream.h hat iostream zu werden aber das bringt mich ja auch nicht weiter, insbesondere dann nicht, wenn beim Hallo Welt- Programm so viele Befehle dazukommen müssen die im Tutorial nicht verlangt werden, ich dementsprechend nicht kenne und nicht beschrieben sind, wie zum Beispiel using namespace std;. Wo genau liegt jetzt das Problem bei mir oder den Tutorials?
    Schwierigkeiten habe ich schon erwartet, mein Scheitern aber nicht an der Stelle.

  2. #2
    Das, was da steht, ist kein sinnvoller C- oder C++-Code. Offenbar erzählt das Tutorial da müll.

    void int
    Das ist keine gültige Funktionssignatur - erst mal sind void und int Typennamen und du kannst keine Funktion definieren, die wie ein Typ heißt. Zumindest nicht, ohne obskuren Unsinn zu programmieren.
    Außerdem hat die Funktion keine Parameterliste; so eine ist auch erforderlich.

    };
    So schließt man Klassendefinitionen ab, aber keine Funktionen.


    Mein Rat: Besorg' dir ein anderes Tutorial. Stell' sicher, daß das Tutorial C++ behandelt und nicht Visual C++ - wenn du irgendwo das Wort pragma liest ist es VC++.
    Noch besser wäre ein gutes Einsteigerbuch, da habe ich aber gar keine Ahnung, was gut ist.


    BTW, hier mal Hello World richtig, inklusive Erklärungen:
    Code:
    // Bei C++ muß man - wie bei vielen Programmiersprachen - viel Funktionalität
    // nachladen. Wir machen das, indem wir Header inkludieren - in diesem Fall den,
    // der uns einfache Ein- uns Ausgabemöglichkeiten bietet.
    #include <iostream>
    
    // C++ verwendet sog. Namespaces - Funktionen etc. bekommen eine Zeichenkette
    // vorangestellt und werden so sortiert. Eigentlich müßten wir unten std::cout
    // und std::endl schreiben; über "using namespace X" können wir uns aber das X::
    // einsparen.
    using namespace std;
    
    
    // main() ist immer die Funktion, die bei Programmstart aufgerufen wird. Sie
    // gibt laut Standard immer int zurück (also eine Ganzzahl) und nimmt zwei
    // Parameter, die bei Programmstart automatisch gefüllt werden.
    int main(int argc, char** argv)
    {
      // std::endl erzeugt einen Zeilenumbruch und sorgt dafür, daß der Text sofort
      // ausgegeben wird. std::cout ist eine einfache Methode, Text auszugeben.
      cout << "Hello world!" << endl;
    }

  3. #3
    Meiner Meinung nach ist es besser, erst C und dann C++ zu lernen. Für den Anfang würde ich da "C von A bis Z" von www.galileocomputing.de (Unter openbooks) empfehlen, weil das bewusst nur standardkonforme Funktionen verwendet. Mich würde allerdings wirklich interessieren, welches Tutorial solchen Mist verzapft.

    Hello World in C:
    Code:
    #include <stdio.h>
    
    int main(int argc, char** argv)
    {
      printf("Hello world!\n");
    }

    Geändert von DFYX (10.01.2007 um 12:12 Uhr)

  4. #4
    Zitat Zitat von Jesus_666 Beitrag anzeigen
    };
    So schließt man Klassendefinitionen ab, aber keine Funktionen.
    Nicht ganz richtig. Man kann es auch nach Funktionen schreiben, und einige Leute tun das auch.

    Ansonsten wurde eigentlich alles wichtige schon gesagt.

  5. #5
    Zitat Zitat von mq Beitrag anzeigen
    Nicht ganz richtig. Man kann es auch nach Funktionen schreiben, und einige Leute tun das auch.

    Ansonsten wurde eigentlich alles wichtige schon gesagt.
    Ich würd's aber weglassen; damit ist man mit dem Codingstil (und den Erwartungen) der meisten Leute konsistent.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •