Header...



  • Hallo

    Wenn du iostrem ohne h benutzt, dann musst du vor

    int main()
    

    noch

    using namespace std;
    

    schreiben.

    Ich hoffe, dass das hilft. Wenn nicht, wäre es hilfreich, wenn du Fehlermeldungen postest.

    chrische

    EDIT: Da war wohl jemand schneller



  • Oder ist es nicht so schlimm mit alten Headern zu arbeiten?

    Oh doch, das ist es! Fast so schlimm wie void main zu schreiben.



  • GPC schrieb:

    Oder ist es nicht so schlimm mit alten Headern zu arbeiten?

    Oh doch, das ist es! Fast so schlimm wie void main zu schreiben.

    😃 👍



  • Oder ist es nicht so schlimm mit alten Headern zu arbeiten?

    Stell dir vor, du hast ein umfangreiches Programm geschrieben und mit der
    naechsten Release deines Compilers, unterstuetzt dieser diese
    Rueckwaertskompatibilitaet nicht mehr und bietet die *.h-Varianten der neuen
    Header nicht an.

    Dann kannst du dein ganzes Programm durchgehen und das ueberall aendern.

    Nicht so toll, oder?

    mfg
    v R



  • Danke,

    ich habe es so eben auch meinem Studienlehrer gemailt um zu erfahren ob wir in den späteren Lernheften dazu noch kommen oder ob er bei der Alten weise bleibt.

    Ein Rat von euch noch:

    Wie soll ich denn mein Quelltexte nun schreiben, weil ich muss die ja zum Teil auch mit Abgeben und auch die Quelltexte auf Diskette oder Cd einschicken.

    Weil in meiner letzten Arbeit hat er mir 8 Punkte abgezogen weil ich eine Frage falsch beantwortet habe. dabei konnte man aus der Frage nicht schlau werden.

    Frage: Bei der Übersetzung eines Programms erhalten Sie folgende Medlungen:

    a) E2451 UndefiniertesSymbol "Diese"

    man soll nun sagen ob Fehler oder nicht:

    ich habe geschrieben, Ja Fehler weil: Es wurde vergessen den Header einzugeben. Das ist aber falsch richtig soll sein; Das Symbol "Dises" wurde nicht difiniert. ( Die Anführungsstriche fehlen.)
    Dabei sind doch oben in der Meldung Anführungszeichen.

    Aber zurück zum Thema, welche Schreibweise soll ich denn nun benutzen?

    Greetings
    Bass



  • Aber zurück zum Thema, welche Schreibweise soll ich denn nun benutzen?

    Auf alle Fälle die neue!

    Zum Fehler:

    #include <iostream>
    
    int main() {
      //int Diese;
      std::cout<<Diese;
      return 0;
    };
    

    Dieser Code wird deine Fehlermeldung produzieren, denn Diese wurde nirgends deklariert.



  • bassdrum24 schrieb:

    Danke,

    ich habe es so eben auch meinem Studienlehrer gemailt um zu erfahren ob wir in den späteren Lernheften dazu noch kommen oder ob er bei der Alten weise bleibt.

    Ein Rat von euch noch:

    Wie soll ich denn mein Quelltexte nun schreiben, weil ich muss die ja zum Teil auch mit Abgeben und auch die Quelltexte auf Diskette oder Cd einschicken.

    Das Problem ist, du weisst nicht, welchen Compiler er verwendet. Prinzipell
    kann er deine Programme natuerlich uebersetzen, wenn sie korrekt geschrieben
    sind, damit meine ich in diesem Falle sowas:

    #include <iostream>
    using namespace std; //oder von mir aus auch using-Deklarationen
    

    Weil in meiner letzten Arbeit hat er mir 8 Punkte abgezogen weil ich eine Frage falsch beantwortet habe. dabei konnte man aus der Frage nicht schlau werden.

    Frage: Bei der Übersetzung eines Programms erhalten Sie folgende Medlungen:

    a) E2451 UndefiniertesSymbol "Diese"

    man soll nun sagen ob Fehler oder nicht:

    ich habe geschrieben, Ja Fehler weil: Es wurde vergessen den Header einzugeben. Das ist aber falsch richtig soll sein; Das Symbol "Dises" wurde nicht difiniert. ( Die Anführungsstriche fehlen.)
    Dabei sind doch oben in der Meldung Anführungszeichen.

    Du hast die Frage durchaus falsch beantwortet. 'Undefiniertes Symbol "X"'
    bedeutet immer, dass ein Bezeichner "X" zwar verwendet wird, der Compiler aber
    keine Deklaration eines solchen Bezeichners finden kann. In den
    Anfuehrungszeichen steht lediglich der Bezeichner, den der Compiler nicht finden
    konnte.

    Aber zurück zum Thema, welche Schreibweise soll ich denn nun benutzen?

    Greetings
    Bass

    IMHO kannst du die neue Schreibweise bedenklos nutzen. Ich kenne keinen
    Compiler, der diese nicht unterstuetzt.

    mfg
    v R



  • ich benutze Borland C++ Builder Prof. 6.0..

    Danke für euren Rat und eure Hilfe wegen dem Fehler.

    Gruss
    Bass



  • Hallo,

    ist es nicht eher der Linker, der diese Meldung auswirft?

    der Compiler aber
    keine Deklaration eines solchen Bezeichners finden kann.

    Eine Deklaration wird ja eben schon gefunden, deswegen kommt es ja nicht zu einem Compilerfehler. Was fehlt, ist eine Definition.



  • Du solltest deinen Lehrer darauf hinweisen, das es sich nicht einfach nur um eine neue Schreibweise handelt, die einfach "tri lalla schubidu mir ist langweilig" eingesetzt wird. Es handlet sich ganz einfach um den 1998 eingeführten C++ ISO-Standard der auch in der DIN drin ist. Also wirklich ein industrieller Standard, nach dem man sich ernsthaft richten sollte (sowohl als Benutzer als auch Compiler-Hersteller). Und das das Lehrmaterial seit 1998 somit einfach nicht mehr aktuell ist.


Anmelden zum Antworten