Wo ist die .exe Datei?
-
christian1234 schrieb:
Also ich benutze sicher Visual C++ 2008 Express Edition, habe es schon neuinstalliert, allerdings hat das mir nicht weitergeholfen.
------ Erstellen gestartet: Projekt: hello-world, Konfiguration: Debug Win32 ------
Kompilieren...
hello-world.cpp
c:\dokumente und einstellungen\*Zensiert :D*\eigene dateien\visual studio 2008\projects\hello-world\hello-world\Form1.h(1) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "iostream.h": No such file or directory
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Tester\Eigene Dateien\Visual Studio 2008\Projects\hello-world\hello-world\Debug\BuildLog.htm" gespeichert.
hello-world - 1 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========na ja, deine .exe existiert nicht, weil er keine erzeugt hat, weil du Fehler im Programm hast.
-
Fellhuhn schrieb:
iostream.h heißt es ja auch nicht, sondern nur iostream:
#include <iostream>
Ich habe den Code von einem E-Book " C++ in 21 Tagen".
#include <iostream.h> int main() { cout << "Hello World!\n"; return 0; }
Habe auch schon #include <iostream> probiert, geht aber beides nicht.
-
du hast aber nicht zufällig eine Windows Formsanwendung erstellt aus der Form1.h alles gelöscht und deinen Quelltext da hineingeschrieben?
-
std::cout
-
Paul Manns schrieb:
du hast aber nicht zufällig eine Windows Formsanwendung erstellt aus der Form1.h alles gelöscht und deinen Quelltext da hineingeschrieben?
Doch. *Schäm
*
-
christian1234 schrieb:
Paul Manns schrieb:
du hast aber nicht zufällig eine Windows Formsanwendung erstellt aus der Form1.h alles gelöscht und deinen Quelltext da hineingeschrieben?
Doch. *Schäm
*
Und nu ? :p
-
christian1234 schrieb:
christian1234 schrieb:
Paul Manns schrieb:
du hast aber nicht zufällig eine Windows Formsanwendung erstellt aus der Form1.h alles gelöscht und deinen Quelltext da hineingeschrieben?
Doch. *Schäm
*
Und nu ? :p
Und jetzt ein leeres Win32-Konsolenanwendung Projekt anlegen in Quelldateien (ein Unterordner im Projektmappen Verzeichnis links (wenn du das Projekt erstellt hast) eine main.cpp hinzufügen und dann nochmal das Hallo Welt Programm abschreiben, compilen und freuen.
-
christian1234 schrieb:
Fellhuhn schrieb:
iostream.h heißt es ja auch nicht, sondern nur iostream:
#include <iostream>
Ich habe den Code von einem E-Book " C++ in 21 Tagen".
#include <iostream.h> int main() { cout << "Hello World!\n"; return 0; }
Habe auch schon #include <iostream> probiert, geht aber beides nicht.
Wenn das wirklich aus dem Buch ist, dann ist das Buch um es mal milde auszudrücken, schei... schlecht!
Das da oben ist kein gültiger ISO-C++ Code! Das ist Code von vor 1998. Heutige Compiler halten sich aber an die C++ Norm von 1998.
Wer geizig ist, muß aber mit solchem schlechter Buchqualität rechnen. Strafe muß sein!
Kauf dir ein echtes und aktuelles Buch, so ganz altertümlich aus Papier! Deutsche Buchempfehlungen:
"C++ Primer" aus dem Addison Wesley Verlag, für nur 29 EUR. Hat über 1000 Seiten und ist für den Preis sehr günstig. Das Buch ist auch sehr zu empfehlen.Es gibt noch ein anderes Buch, was auch schon sehr gut ist, kostet aber 10 EUR mehr:
http://www.oop-mit-cpp.de
-
Achja, so sieht ein heute gültiges C++ HelloWorld aus:
#include <iostream> int main() { std::cout << "Hello World!\n"; }
Selbst das return 0 kann man heute in der main() weglassen.
Wenn du nicht auf vernünftige Litertur umsteigst, wirst du weiterhin Probleme bekommen, weil wenn das einfache HelloWorld schon scheitert, wirds später nicht einfacher.
-
return ist aber unbedingt zu empfehlen, da
int main() ja auch nur eine funktion in dem sinne ist, und eine int funktion gibt nunmal einen int Wert zurück...
-
Wenn die main-Funktion keine return-Anweisung enthält, ist das so, als ob return 0; drin stehen würde. Steht so im Standard.
-
ja, nur besser man gewöhnt sichs gleich an, in jeder funktion ein scheiß return reinzuschreiben
-
godcaresduazzl0cz schrieb:
ja, nur besser man gewöhnt sichs gleich an, in jeder funktion ein scheiß return reinzuschreiben
Das meldet dann der Compiler früh genug.
-
drakon schrieb:
Das meldet dann der Compiler früh genug.
Wieso warten bis der Compiler einem anschreit, anstatt es gleich immer zu tun? Wieso Fehler verursachen, wenn man sie vermeiden kann?
Grüssli
-
Meine Fresse! Entweder man weiß, wann man return hin zuschreiben hat, oder man weiß es nicht! Und main ist halt eine Ausnahme. Diese eine Ausnahme wird man sich als Programmierer ja merken können, oder? Falls nicht: Job als Programmierer an den Nagel hängen! Das ist nämlich die einfachste C++-Regel die es gibt.
Außerdem gibts auch Funktionen mit void-Rückgabetyp... ui, was mache ich nur? Hilfe! Schreib ich return hin oder nicht? Hui!
-
Dravere schrieb:
drakon schrieb:
Das meldet dann der Compiler früh genug.
Wieso warten bis der Compiler einem anschreit, anstatt es gleich immer zu tun? Wieso Fehler verursachen, wenn man sie vermeiden kann?
Grüssli
Weil Fehlervermeidung kein Selbstzweck ist. return schreibt man, wenn man etwas zurückzugeben hat, nicht weil eine Funktion etwas zurückgeben muss. Vielleicht fehlt ja mal nicht das return sondern die Funktion sollte eigentlich nichts zurückgeben.
-
Dravere schrieb:
drakon schrieb:
Das meldet dann der Compiler früh genug.
Wieso warten bis der Compiler einem anschreit, anstatt es gleich immer zu tun? Wieso Fehler verursachen, wenn man sie vermeiden kann?
Grüssli
Jo, klar.
Nur ist das etwas, was man gezwungenermassen beigebracht bekommt und man nicht "von-Anfang-an-besser-richt-macht". Da gehören Dinge rein, die den Compiler/Laufzeitverhlaten nicht/selten stören. Wie z.B. Varibeln Benennung, Schnittstellendesign usw. Das kann verheerende Folgen haben, aber wenn man einfach jedesmal nicht dran denkt einen Rückgabewert anzugeben, bevor man eine Funktion neu compiled, dann weiss ich auch nicht.
Das kriegt man auf die harte Tour beigebracht. Wäre schön, wenn alle Fehler so klar wären. (mal abgesehen von einem vergessenen return in versch. Programmpfaden, aber sogar da gibts bei modernen Compilern eine Warnung..)
-
Bulli schrieb:
Meine Fresse!
Eine Fresse um sie alle zu Knechten ... oder so ähnlich
Bulli schrieb:
Entweder man weiß, wann man return hin zuschreiben hat, oder man weiß es nicht! Und main ist halt eine Ausnahme. Diese eine Ausnahme wird man sich als Programmierer ja merken können, oder?
Ich weiss ja nicht, aber ich merke mir nicht gerne noch zusätzliche Ausnahmen. Gerade für einen Newbie kann das extrem verwirrend sein, wenn die main-Funktion kein
return
hat, aberint foo()
ein return haben muss.Bulli schrieb:
Außerdem gibts auch Funktionen mit void-Rückgabetyp... ui, was mache ich nur? Hilfe! Schreib ich return hin oder nicht? Hui!
Du kannst
return
hinschreiben wenn du willst :p
Ich bringe jemandem lieber sowas bei:
void -> kein return
alles andere -> return
Sobald du noch eine Ausnahme reinpackst, verwirrt es die Leute. Egal wie simpel die ist.camper schrieb:
return schreibt man, wenn man etwas zurückzugeben hat, nicht weil eine Funktion etwas zurückgeben muss.
Und bei main will man ja auch den Erfolg des Programmes zurück geben. Wo ist also das Problem? Ich sehe nur eine deutliche Verkomplizierung für Anfänger, mehr nicht. Eine Ausnahme in einer Regel und die Ausnahme bringt nicht mal etwas. Also besser gleich fallen lassen.
Grüssli
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.