Anfängerfrage... Hilfe, scheitere schon am "Hallo Welt" :(
-
Hallo,
zur Abwechslung mal eine komplette Anfängerfrage. (ich hoffe ich hab das jetzt ins richtige Unterforum gepostet)
Ich versuche gerade mir ein paar C++-Grundlagen mit dem Buch "C++ - Von Null auf Hundert in 40 Lektionen" beizubringen und stehe nun vor dem Problem, schon beim Kompilieren vom obligatorischen "Hallo Welt" zu scheitern...:
Wenn ich folgenden Quellcode aus dem Buch abtippe und mit "g++ hallowelt.cpp" (unter Linux) zu kompilieren versuche, klappt das nicht und der Compiler meckert z.B. über "deprecated header"
#include <iostream.h> void main(void) { cout << "Hallo Welt!!"; }Nehme ich nun ein anderes "Hallo Welt", z.B. das folgende aus dem Internet, funktioniert es komischerweise:
#include <iostream> int main() { std::cout << "Hallo Welt!" << std::endl; }Liegt das am Compiler? Was mache ich falsch? Ich bin mir ziemlich sicher, dass der Quellcode aus dem Buch schonmal funktioniert hat! (hatte das vor ein paar Jahren schonmal angefangen aber dann irgendwann aufgegeben
)Sorry für die doofe Frage aber ich probier das jetzt schon seit 2 Tagen irgendwie hinzukriegen, hab schon ewig lang im Internet recherchiert, mit dem Compiler herumprobiert usw...
Hoffe, ihr könnt mir helfen.
Gruß
Basti
-
schmeiss das buch in die tonne
-
standard header werden ohne das .h am ende eingebunden, mit .h geht zwar auch, ist aber veraltet (depricated) und das meckert der compiler an.
die standard methoden sind alle im namespace std, so auch "cout". in deinem ersten code findert er cout also nicht, es müsste std::cout heissen. oder du musst "using namespace std;" in den code einfügen, dann sucht er für funktionen auch im namespace std.
-
depricated schrieb:
in deinem ersten code findert er cout also nicht, es müsste std::cout heissen. oder du musst "using namespace std;" in den code einfügen, dann sucht er für funktionen auch im namespace std.
Die pre Standard Header hatten noch keinen Namespace std
.
-
außerdem kann es passieren dass manche compiler bei einer mainfkt. mit rückgabetyp void rummeckern. so ist es mir ergangen als ich mit dev-c++ compiliert habe.
standard ist immernoch folgende form:int main() { }als ich mir ein buch gekauft habe, habe ich zuerst auf dieses detail geachtet, da ich ein buch lesen möchte, was mir standardkonformes c++ liefert.
-
Das Buch ist von 2000... und wirklich dermaßen veraltet?
Dann werd ich mir wohl lieber eins der vielen Turorials im Internet reinziehen. Ist wahrscheinlich erfolgversprechender.
Ist ja nicht nur das mit dem Header.
Auch das "void main(void)" ist offenbar falsch. Nehme ich stattdessen "int main()" funktioniert das Programm perfekt... (im Moment weiß ich zwar noch nicht so wirklich, worin da der Unterschied liegt aber das werd ich ja hoffentlich bald lernen
)Vielen Dank erstmal.
Die FAQ hier hab ich natürlich schon gelesen und da auch einige Tutorials entdeckt (kann aber natürlich nicht beurteilen, welches davon am besten ist)
Welches würdet ihr einem absoluten Anfänger (kann auch kein C) empfehlen?
-
Hallo,
basti_m schrieb:
Das Buch ist von 2000... und wirklich dermaßen veraltet?
wenn der Rest des Buches genauso ist, wie das Hallo Welt Beispiel, ist es Schrott!
Welches würdet ihr einem absoluten Anfänger (kann auch kein C) empfehlen?
http://tutorial.schornboeck.net/inhalt.htm und http://www.volkard.de/Cpp/Tutorial/index.html sind sehr gut.
Top Bücher sind "C++ Lernen und Professionell anwenden" vom mitp Verlag und das C++ Primer.
MfG
GPC
-
noch was: Es ist sehr wichtig, von Anfang an einen guten Stil in C++ zu verfolgen. Ist er einmal versaut, dauert's ewig bis man das ausgebügelt hat!
MfG
GPC
-
GPC schrieb:
wenn der Rest des Buches genauso ist, wie das Hallo Welt Beispiel, ist es Schrott!
Ja, leider ist das so.... hab eben mal ein wenig herumgeblättert... bei jedem Beispiel steht ".h" und "void main(void)"
Dass es fatal ist, von anfang an schlechten Programmierstil zu lernen ist klar... deswegen werd ich das Buch wohl wirklich in die Tonne kloppen... lustigerweise war das damals, als ich es gekauft hab, das Buch, das überall empfohlen wurde und bspw. bei amazon nur top Bewertungen hatte....

Den Fehler hab ich damals bei HTML gemacht, als überall Tabellenlayouts propagiert wurden
nicht nochmal
ist nämlich echt schwer, sich sowas wieder abzugewöhnen.Vielen Dank nochmal an euch alle, dass ihr mich als totalen Anfänger hier nicht gleich zerrissen habt, wie es in vielen anderen Foren gang und gäbe ist!
Ich glaub hier werd ich in der nächsten Zeit öfter reinschauen!
Gruß an alle
Basti
-
http://courses.mbi.tugraz.at/ElektronischeLiteratur/SoftwareentwicklungInCplusplus.pdf
Und eher zum nachschlagen:
http://velociraptor.mni.fh-giessen.de/Programmierung/ProgII-htmldir/progII.htmlAls "richtiges" Buch würde ich das empfehlen.
C++ Einführung und professionelle Programmierung | ISBN: 3446402535MfG Spacelord
-
... hätte ich das mal eher entdeckt:
http://tutorial.schornboeck.net/groessten_luegen.htm
