Objektorientiert?!?!
-
Habe den fehler gefunden
WagenHinzufügen kann man nicht nehmen.
das ü macht probleme.jetzt gibts andere fehler.
--------------------Konfiguration: autorennen4 - Win32 Debug-------------------- Kompilierung läuft... autorennen4.cpp c:\dokumente und einstellungen\master\eigene dateien\neuer ordner\autorennen4\autorennen4.cpp(63) : error C2065: 'LIGHTRED' : nichtdeklarierter Bezeichner Fehler beim Ausführen von cl.exe. autorennen4.exe - 1 Fehler, 0 Warnung(en)Das passiert wenn ich die CONIOEX.h nicht include.
leider ist da die function textcolor drinne.
Include ich die conioex.h ahbe cih folgende fehler:--------------------Konfiguration: autorennen4 - Win32 Debug-------------------- Kompilierung läuft... autorennen4.cpp Linker-Vorgang läuft... autorennen4.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: bool __thiscall rennstrecke::InterpretiereTaste(char)" (?InterpretiereTaste@rennstrecke@@QAE_ND@Z) autorennen4.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall rennstrecke::Zeichne(void)" (?Zeichne@rennstrecke@@QAEXXZ) autorennen4.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: int __thiscall rennstrecke::WagenHinzufugen(class wagen const &)" (?WagenHinzufugen@rennstrecke@@QAEHABVwagen@@@Z) Debug/autorennen4.exe : fatal error LNK1120: 3 unaufgeloeste externe Verweise Fehler beim Ausführen von link.exe. autorennen4.exe - 4 Fehler, 0 Warnung(en)
-
Habe ich wirklich Hinzufügen in einen Funktionsnamen geschrieben? Oh, Mann! Wie bescheuert! Sorry, hätte ich vorher noch mal korrekturlesen sollen. Kommt davon, wenn man normalerweise nur englische Namen benutzt und dann plötzlich deutsche hinschreiben muß.
Edit: Dir fehlen mehrere Funktionen. Die mußt du natürlich noch implementieren. Außer dem wagen-Konstruktor und der main hab ich ja alle Implementierungen ausgelassen.
-
mmhh, ersetze mal die umlaute in dem code..anscheinend schluckt das der compiler nicht...
edit : zu spät..
-
ConfusedGuy schrieb:
mmhh, ersetze mal die umlaute in dem code..anscheinend schluckt das der compiler nicht...
Nein, Umlaute sind in Bezeichnern in der Tat nicht erlaubt. Sorry, noch mal.
-
Ich habe ja schon alle umlaute gelöscht.
Aber wie kann cih denn zeichenketten in einem Bool speichern?
Muss das nicht dann ein char sein oder so?weil die functionen habe ich bereits drinne.
Und muss ich die Variablen auch alle verarbeiten.Ich glaube eher das der fehler bei conioex.c liegt.
Weil ohen die klappts ja eigndlich.
nur lightred geht halt nicht...
-
Ein bool kann keine Zeichenketten nehmen. Und dein Fehler hat nichts mit dieser header-Datei zu tun. Das ist nämlich ein link-Fehler. Wenn du den header raus nimmst, hast du einen compile-Fehler und die link-stage wird gar nicht erst gestartet (deshalb tritt der Fehler dann nicht auf).
Edit: Rechtschreibung
Edit2: Falls du auf d_LetzteTaste abspielst: das müßte ein char sein, kein bool. Sorry ein weiteres mal, war wohl sehr in Eile, als ich das geschrieben habe.
-
Macht ja nichts. Bin ja dankbar für eure hilfe...
mal sehen. vieleicht finde ich den fehler ja doch noch...Ich schreibe erstmal die fehlenden functionen.
-
Die fehlenden Funktionen sind der Fehler! Da brauchst du nicht länger nach zu suchen.
-
Also ich ahbe den fehler. habe vergessen renstrecke:: vor zeiche und so zu schreiben...
int rennstrecke::WagenHinzufugen() { printf("Hallo"); return 0; } void rennstrecke::Zeichne(void) { printf("Hallo"); } bool wagen::InterpretiereTaste(char Taste) { bool kp = true; return kp; }jetzt folgender fehler:
--------------------Konfiguration: autorennen4 - Win32 Debug-------------------- Kompilierung läuft... autorennen4.cpp c:\dokumente und einstellungen\master\eigene dateien\neuer ordner\autorennen4\autorennen4.cpp(55) : error C2511: 'WagenHinzufugen' : Überladene Member-Funktion 'int (void)' nicht in 'rennstrecke' gefunden c:\dokumente und einstellungen\master\eigene dateien\neuer ordner\autorennen4\autorennen4.cpp(41) : Siehe Deklaration von 'rennstrecke' Fehler beim Ausführen von cl.exe. autorennen4.exe - 1 Fehler, 0 Warnung(en)
-
Überprüf noch mal die Schreibweise von WagenHinzufugen. Vielleicht hast du irgendwo einen Tippfehler.
-
Überladene Member-Funktion 'int (void)' nicht in 'rennstrecke' gefundendas ist mein Problem.
Aus dem ü habe ich absichtlich ein u gemacht.
daran liegts nicht...Was heist denn:
Überladene Member-Funktion 'int (void)' nicht in 'rennstrecke' gefunden???
-
Ich nehme an das sind Rückgabetyp und Parameterliste der Funktion WagenHinzufugen. Könnt aber auch sein, daß ich mich irre. Deutschsprachige Compiler-Fehlermeldungen sind schwer zu lesen
Im Zweifelsfall zeig noch mal ein Bißchen mehr Code.
-
genau das ist es.
in class rennstrecke steht
void WagenHinzufugen(const wagen& Wagen)und du hast ne funktion geschrieben
int rennstrecke::WagenHinzufugen( void )die beiden sind nicht identisch wie man sieht. sollten sie aber sein
-
#include <vector> #include <stdio.h> #include <conio.h> #include "CONIOEX.h" class wagen { private: char d_Taste1; char d_Taste2; char d_LetzteTaste; int d_Farbe; // hoffe mal, das ist ein int int d_Position; public: wagen (char Taste1, char Taste2, int Farbe); // Konstruktor void Zeichne(); // Zeichnet den Wagen bool InterpretiereTaste (char Taste); // Mit zu Wagen gehörende Tasten vergleichen und ggf. Wagen bewegen // Return: Taste bekannte? bool ZielErreicht() const; }; wagen::wagen (char Taste1, char Taste2, int Farbe) : d_Taste1 (Taste1), d_Taste2 (Taste2), d_LetzteTaste (0), d_Farbe (Farbe), d_Position (0) {} // die übrigen Funktionen darfst du selbst schreiben class rennstrecke { std::vector<wagen> d_Wagen; public: int WagenHinzufugen (const wagen& Wagen); void Zeichne(); bool InterpretiereTaste (char Taste); // Return: Sieger ermittelt? }; int rennstrecke::WagenHinzufugen() { printf("Hallo"); return 0; } void rennstrecke::Zeichne() { printf("Hallo"); } bool wagen::InterpretiereTaste(char Taste) { bool kp = true; return kp; } int main() { rennstrecke Rennstrecke; Rennstrecke.WagenHinzufugen (wagen ('a', 's', LIGHTRED)); // 2. Wagen entsprechend do { Rennstrecke.Zeichne(); } while (!Rennstrecke.InterpretiereTaste (getch())); return 0; }was muss ich denn da rein basteln damit es klappt...
-
Schon alleine die Signatur und der Name der Methode beißen sich...
int rennstrecke::WagenHinzufugen(void).Was willst du denn hinzufügen wenn du nichts übergibst?
Imho solltest du dir erstmal nen gutes Buch lesen.
Das Ganze hier hat ja nichts mit Hilfe zu tun.
Das Ende vom Lied wird wohl sein dass Z2 99,99 Prozent "deiner" Anwendung geschrieben hat, und du 99,99% davon nicht verstehst.
-
ich bin zwar noch nicht so gut im proggen,
und verstehen tuhe ich wirklich nicht alles was in diesem prog steht.Aber ich kann lesen und bin mir der informationsquellen google, lycos, altavista, yahoo und was es noch so gibt bewusst.
ich habe Ferien und eine ganze nacht zeit um nach dem zu suchen was ich nicht ganz verstanden habe.Auch habe ich ein buch zuhause in dem ich z.b. die Pointer nochmal nachschlagen kann.
Aber trotzdem danke für deine zuversicht.
MFG Marian
PS: Ich gehe weder auf ne Baumschule und bin zu blöd zum lernen...

-
Ich halte dich nicht für zu blöd....du gehst die Sache nur von der falschen Seite an.
-
welche wäre denn die richtige?
Ich kann mich nur suchmaschinen und büchern so wie meinen OOP kentnissen in PHP bedienen.
Leider gibts da nie was gescheites.Einen verusch wie ich es nach buch und suchmaschine gemacht habe in OOP habe ich ja schon gepostet.
Jetzt muss ich gucken ob ich mit hilfe von welchen die es können ein bsp erarbeiten kann. Und ich möchte auch keines wegs das Z2 meine codes schreibt.
Denn davon habe ich garnichts.
Ich kanns halt nur nicht anders machen als tuts und Bücher es zeigen.Und bücher und tuts sind meistens sehr einfach gestrickt und nicht so wie profies es machen...
-
So ein Bullshit....
Eventuell solltest du die Bücher und Tutorials auch lesen.
-
Ach was denkst du was ich getan habe.
Die tutorials handelten weder von Bibi Blocksberg,
noch habe ich irgendwelche Märchenbücher oder Bilderbücher gelesen.
Mein buch heißt C++ Programmierung und ist von Thomas Hagemann.Die Tutorial ahbe ich mir mit "mit c++ OOP programmieren" oder änlichem rausgesucht.