Falscher Compiler oder falsches Lehrbuch?
-
soweit ich mich erinnern kann ist das nur ein einstiegscode um zu demonstrieren, wie
std::mapundstd::stringdas leben verbessern - in einem kapitel noch bevor erklärt wird, wie man klassen selbst definiert. (ist auch nicht unbedingt für anfänger geeignet IMO)
-
Aja...
ich weis das da relativ viele Fehler alias 'retrn' drinne sind, aber die finde ich auch....^^ die anderen Fehler verstehe ich nicht.....

Keyy....
@queer-boy: Was sind vorwärtsdeklarationen?/Soll das heissen der muss nicht funktionieren sondern ich soll einfach das Kapitel lesen und die 'natur' akzeptieren :P??
@Fake oder echt: Was hast du gegen den Code?
@Kein Kenner des Buches: Das soll an beispielen demonstrieren wie sachen funktionieren
-
@queer-boy: Was sind vorwärtsdeklarationen?/Soll das heissen der muss nicht funktionieren sondern ich soll einfach das Kapitel lesen und die 'natur' akzeptieren :P??
nö, nur hab ich den code vorhin zwar durch das ausbessern dieser tippfehler zum kompilieren gebracht, aber nachdem ich ausprobiert hab, ob er auch macht, was er soll, ... tja
ad deklaration:
void foo () { bar (42); } void bar (int i) { }die funktion foo ruft bar auf, mit einem integer-argument (42). nur: dein compiler kennt die funktion bar zu diesem zeitpunkt nicht, kann also gar nicht wissen, ob sie ein argument übernimmt. um das sicherzustellen, musst du die funktion vorher deklarieren:
void bar (int); void foo () { bar (42); } void bar (int i) { }- oder die ganze funktionsdefinition *vor* die definition von foo stellen.
den ausdruck "vorwärtsdeklaration" bezieht man allerdings (mein fehler) hauptsächlich auf klassendeklarationen. (vorwärtsdeklaration synonym zu klassendeklaration - bei funktionsdeklarationen sagt man idR nur "deklaration".
PS: "voraus" schreibt man mit einem R, das forum will also nur, dass du recht-schreibst

-
Judas schrieb:
@Fake oder echt: Was hast du gegen den Code?
program: END expr_list END expr_list: expression PRINT expression PRINT expr_list expression: expression + term expression - term term term term / primary term * primary primary primary: NUMBER NAME NAME = expression - primary (expression)Mehr brauch ich dazu wohl nicht sagen

Hast du mal alles verbessert? Also das case '\' zu case '\' gemacht, die ganzen retrnus oder sowas verbessert? Ansonsten wären die Fehlermeldungen ganz praktisch...
-
bin gerade bei einm Freund und da der keine Ahnung hat was ein Compiler ist darf ich den auchnicht installieren das heist ich muss bis heute abend warten bis ich eure Vorschläge ausprobieren kann :P.... wird aber noch.....
Hmm...
mit vorwärtsdeklaration meinst du:
#include <iostream> //dann heir die restlichen Bibliotheken... using namespace std; //und hier dann die 'Köpfe' der Funktionen? //z.b. double expr(bool get); //etc....
-
Mein Compiler ist DevC++
du hast selbst keine ahnung was ein compiler ist :p
-
program:
END
expr_list ENDexpr_list:
expression PRINT
expression PRINT expr_listexpression:
expression + term
expression - term
termterm
term / primary
term * primary
primaryprimary:
NUMBER
NAME
NAME = expression
- primary
(expression)Das soll die Grammatik des Programms darstellen. Und bezeichnet ja, wie man den Rechner nachher benutzen kann.
Ich danke schonmal im V o r r a u s(ka aber das Forum mag dieses Wort nicht es macht lauter '*') für Antworten...
Man schreibt ja voraus, nur ein r.

-
Judas schrieb:
...V o r r a u s(ka aber das Forum mag dieses Wort nicht es macht lauter '*') ...
Der Duden hilft da weiter.

(sowieso ein Buch, das gerade in Internetzeiten in gleichem Maße an Relevanz wie an Ignoranz zunimmt)Gruß,
Simon2.
-
Simon2 schrieb:
..(sowieso ein Buch, das gerade in Internetzeiten in gleichem Maße an Relevanz wie an Ignoranz zunimmt)

-
Und um die Frage im Titel zu beantworten...
beides!
Aber mit dem Problem hat das nix zu tun^^
-
Ich bin einfallslos schrieb:
Und um die Frage im Titel zu beantworten...
beides!
Aber mit dem Problem hat das nix zu tun^^Naja, das Buch finde ich recht gut. Man muss sich mal an die kompakte Informationsflut gewöhnen, aber dann geht es recht gut.
-
aja, was soll das heissen das ihc ka von Compilern habe?? Sage mir was ich falsch gemacht habe/denke und ich werde mich verbessern

Was hast du gegen DevC++ das ist der Compilername....
-
LOL Dev-C++ ist eine IDE und kein Compiler
-
DevC++ ist Müll. Hol dir lieber Visual Studio 2008 Express, da bekommst du dann auch den besten Compiler.
-
Profimann schrieb:
DevC++ ist Müll. Hol dir lieber Visual Studio 2008 Express, da bekommst du dann auch den besten Compiler.
Den "besten" Compiler würde ich definitiv nicht sagen, aber inzwischen gehört der VC-Compiler tatsächlich zu den besseren (und auf Windows würde ich diesen auch verwenden).
cu André
-
dieses Visual sagt das nciht so viel wie 'visual' ??? Kann ich das überhaupt für das 'normale' Cpp verwenden??
Und wenn ja... was ist daran besser und ist es kostenlos... (wenn beides Ja dann bitte auch n Link, bei meiner Letzten suche bin ich nur auf DevC++ gestossen...)Was zur Hölle ist n IDE??
-
IDE = Integrated Developement Environment.
VC++ 08 : http://www.microsoft.com/germany/express/product/visualcplusplusexpress.aspx
-
Hey,
ich bin Judas (war zu Blöd zu rallen das ich garnicht eingeloggt war....)
Hmm ist das IDE bei VC++ dabei...??? Und auf die Frage ob C++ Code auch mit einem Visual C++ Compiler klappt hast du nicht geantworted... aber danke für den Link ich bin jezz z.m. um eine Sache schlauer

-
Jop, ist dabei.
Naja.. Das mit der Kompatibilität is so ne Sache. Je nachdem, wie du gecodet hast. In der Regel hält sich der VC an den Standard, aber es gibt Ausnahmen (selten). Sollte grundsätzlich gehen.
-
1. hey, wer hat sich so genannt? Nur der erste Post unter diesem Nick ist von mir xP
2. Visual C++ ist nur der Name der IDE, es ist sowohl ein Compiler für normales C++, als auch für C++/CLI