Microsoft Visual Express 2008 Problem!
-
Hallo erstmal,
Ich bin heute von Dev C++ auf Microsoft Visual C++ Express 2008 umgestiegen.
Da ich Dev C++ gewöhnt bin hab ich einfach mal so drauflos Programmiert.
Jetzt hab ich ein Programm geschrieben dass wenn ich es unter Dev C++ ausführe läuft und wenn ich es in Visual compiliere Fehlermeldungen ausspuckt.
Könnt ihr mir vielleicht sagen woran es liegen könnte?#include <iostream> #include <string> #include <cstdlib> class Person { //Eigenschaften public: string name; string vorname; void ausgeben(); }; //Methoden void ausgeben() { cout "Ich heise " << vorname << " " << name << endl; } using namespace std; int main () { Person ich; ich.name = "Irgendwas"; ich.vorname = "Happysheep"; ich.ausgeben(); return 0; }
So sollte es eigentlich funktionieren.
Kann mir irgendwer unterschiede zwischen den beiden Compilern erklären, die sich auf den Quelltext auswirken???
-
Das Programm kompiliert garantiert unter keinem C++-Compiler!
Die Signatur von ausgabe() ist komplett falsch, und cout, endl und string liegen allesamt im Namespace std::.
Mein Tipp: Arbeite ein gutes Buch oder ein gutes Tutorial durch.
-
Ja das ist mir jetzt gerade auch aufgefallen
#include <iostream> #include <string> #include <cstdlib> class Person { //Eigenschaften public: string name; string vorname; void ausgeben(); }; //Methoden void ausgeben() { cout "Ich heise " << vorname << " " << name << endl; } using namespace std; int main () { Person ich; ich.name = "Irgendwas"; ich.vorname = "Happysheep"; ich.ausgeben(); return 0; }
Ja sorry ich hab es jetzt mal verbessert.
Keine Ahung was ich da vorhin gemacht hab
-
#include <iostream> #include <string> #include <cstdlib> using namespace std; class Person { //Eigenschaften public: string name; string vorname; //Methoden void ausgeben() { cout "Ich heisse " << vorname << " " << name << endl; } }; int main() { Person ich; ich.name = "Irgendwas"; ich.vorname = "Happysheep"; ich.ausgeben(); return 0; }
-
Bei mir will VC++ Express(...) immer ganz am Anfang noch stdafx.h. Also:
#include "stdafx.h" //Hier drunter der restliche Code
Vielleicht liegt's daran?
-
Ok hat sich erledigt
-
Hunterson schrieb:
Bei mir will VC++ Express(...) immer ganz am Anfang noch stdafx.h.
Aber nur wenn du es einstellt, oder nicht abstellst.
Ich empfehle grundsätzlich für Programmieranfänger:
a) Win32 Konsolen Anwendung auswählen
b) Auf den 2ten Tab "Leeres Projekt" auswählen (oder den dortigen Haken bei vorkompilierte Header [oder wie precompiled Header im deutschen heißt] zu entfernen).
[Man kann es auch nachträglich in den Projekteinstellungen ändern, dort würde ich eh unter C/C++ den Warnungslevel auf 4 setzen]stdafx.h ist kein C++ Standard.