remus88one Geschrieben 5. Juni 2009 Teilen Geschrieben 5. Juni 2009 erstma ein wunderschönes hello bin neu hier im forum un gleich mal ne frage, habe von einem tutorial mir ein programm kopiert, aber ich komme net dahinter wieso mein Visual C++ 2008 Express Edition das net ausführt.. es kommt immer ein fehler, also erstmal das programm un danach der fehlerlog. #include <iostream> using namespace std; int main() { struct meinestruktur //Hier wird der Name Ihres neuen Typs definiert. { //Natürlich wie immer die geschweiften Klammern. //Jetzt folgen die Variablen, Zeiger und Arrays, die Ihre Struktur enthalten soll. int strukturzahl; char strukturzeichen; bool strukturbool; float nochetwas; }; //Niemals das Semikolon vergessen!! //Deklarieren wir eine Varibale des neuen Typs: meinestruktur meinestrukturvariable; meinestruktur meinestrukturvariablezwei; //Wie füllt man den Wert? Gar nicht. Man füllt den Wert von //den einzelnen Struktur-Objekten. meinestrukturvariable.strukturzahl = 343; //Mit einem Punkt greift man zu. int einfachevariable = meinestrukturvariable.strukturzahl; //Man kann den Wert auch zuweisen! cout << einfachevariable << endl; meinestrukturvariablezwei->strukturzahl = 222; //Man kann auch mit -> zugreifen int einfachevariablezwei = meinestrukturvariablezwei->strukturzahl; cout << einfachevariablezwei << endl; cout << einfachevariable << endl; cout << meinestrukturvariable.strukturzeichen = 'a' << endl; while(1); } nun der fehler: 'Remusone1.exe': Loaded 'C:\Users\Remus\Documents\Visual Studio 2008\Projects\Remusone1\Debug\Remusone1.exe', Symbols loaded. 'Remusone1.exe': Loaded 'C:\Windows\System32\ntdll.dll' 'Remusone1.exe': Loaded 'C:\Windows\System32\kernel32.dll' 'Remusone1.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcp90d.dll' 'Remusone1.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll' 'Remusone1.exe': Loaded 'C:\Windows\System32\apphelp.dll' Der Thread 'Win32 Thread' (0x1654) hat mit Code 0 (0x0) geendet. Der Thread 'Win32 Thread' (0x61c) hat mit Code -1073741510 (0xc000013a) geendet. Das Programm "[5068] Remusone1.exe: Native" wurde mit Code -1073741510 (0xc000013a) beendet. Noch ein kleiner nachtrag, vlleicht kennt ja jemand von euch ein gutes online tutorial wo auch aufgaben eingebaut sind, wäre ganz nice, weil ohne aufgaben oder halt (prüfung) nja is das einfach XXXXXXX. schonma vielen dank für eure hilfe un bin gespannt wodran es liegt LG ReMuS Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 5. Juni 2009 Teilen Geschrieben 5. Juni 2009 Im Code sind mehrere Fehler: meinestrukturvariablezwei->strukturzahl = 222; //Man kann auch mit -> zugreifenDie Operatoren Punkt und Pfeil sind nicht beliebig austauschbar. Den Pfeil benutzt man, wenn links ein Zeiger steht (oder eine Klasse, für die dieser Operator überladen ist). Hier ist das nicht der Fall, also ist -> hier falsch, da muss ein Punkt hin. int einfachevariablezwei = meinestrukturvariablezwei->strukturzahl;Hier nochmal derselbe Fehler. cout << meinestrukturvariable.strukturzeichen = 'a' << endl;Mal abgesehn davon, dass ich Zuweisungen in solchen Ausdrücken für schlechten Stil halte: Man muss den Zuweisungsausdruck hier klammern, weil der <<-Operator stärker bindet als der =-Operator: cout << (meinestrukturvariable.strukturzeichen = 'a') << endl; Die gezeigten Fehlermeldungen sind übrigens nicht die von diesem Programm. Das sind Ausgaben einer Debug-Sitzung, die nicht von diesem Programm stammen kann, weil man zum Debuggen das Programm zunächst einmal erstellt haben müsste, was aber mit diesem Code wegen der Fehler nicht geht. Die Fehlermeldungen sollten eher so aussehen: error C2819: type 'main::meinestruktur' does not have an overloaded member 'operator ->' error C2232: '->main::meinestruktur::strukturzahl' : left operand has 'struct' type, use '.' (das zweimal) error C2563: mismatch in formal parameter list error C2568: '<<' : unable to resolve function overload Der Autor dieses Tutorials hat seinen Code offenbar nicht ausprobiert. Ich würde mir ein anderes suchen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
remus88one Geschrieben 5. Juni 2009 Autor Teilen Geschrieben 5. Juni 2009 Der Autor dieses Tutorials hat seinen Code offenbar nicht ausprobiert. Ich würde mir ein anderes suchen. ja scheint wirklich ein toller xD autor zu sein ich selbst hab schon paar normale fehler entfernt wie ; vergessen un so ... nja kann man nichts machen, hast du bzw. ihr denn gute tutorials anzubieten ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.