Header...
-
Vor ein paar tagen habe ich hier erfahren das meine Header veraltet sind. Ok dachte ich mir schreibe ich es in Zukunft dann so wie man es mir hier gesagt hat. Doch das geht nicht immer ist mir auf gefallen.
Der Hinweis auf Forum sieht so aus:
#include <iostream>daraufhin habe ich diesen Quelltext aus meinem Studienheft abgetippt:
/*############################################################################## Der Datentyp Integer ##############################################################################*/ #include <iostream.h> short short_Var; // Definition der Variablen int int_Var; long long_Var; void main() { // Groesse von Datentypen ausgeben cout << sizeof(short) << '\n'; cout << sizeof(int) << '\n'; cout << sizeof(long) << '\n'; // Groesse von Variablen ausgeben cout << sizeof(short_Var) << '\n'; cout << sizeof(int_Var) << '\n'; cout << sizeof(long_Var) << '\n'; //Ueberlauf von short_Var provozieren short_Var = 32767; // Maximalwert zuweisen cout << short_Var << '\n'; short_Var = short_Var +1; // Addition von 1 cout << "32767 + 1 ist nicht gleich "; cout << short_Var << '\n'; char p[50]; cin.getline(p,50); }habe aber Header so geamcht wie der Hinweis aus dem Forum kam, und siehe da er konnte es nicht übersetzen. Meine Frage nun, was hätte ich denn anderes machen müssen um mit dem neuen Headern arbeiten zu können. Oder ist es nicht so schlimm mit alten Headern zu arbeiten?
Danke!
Greetings,
bass
-
Warum fällt es Euch eigentlich so verdammt schwer mal ne Fehlermeldung zu posten? "Geht nicht" ist immer so auuuusführlich!
Versuch mal
#include <iostream> using namespace std;
-
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-DeklarationenWeil 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
BassIMHO 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.