Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Suchergebnisse

Suchergebnisse 1-20 von insgesamt 22.

Werbeanzeige

11.09.2006, 13:18

Forenbeitrag von: »VeilOfOblivion«

Problem mit vector und erase

Also ich bin kein Profi, aber vielleicht kann ich die Profis hier mit einem kleinen "Denkanstoß" auf die richtige Fährte bringen... Ich meine gelesen zu haben das man einen Iterator nicht mehr benutzen sollte nachdem man irgendetwas in einem Vector geändert hat. Ich glaube weiter wo anders gelesen zu haben das die interne Verwaltung bei einer Änderung eines Vectors diesen komplett neu (dann an einer anderen Speicheradresse) erstellt und den alten komplett löscht. Somit würde sich die Fehlermeldu...

07.09.2006, 20:46

Forenbeitrag von: »VeilOfOblivion«

Gegenseitige Abhängigkeit von Klassen

Ja, so einfach kann es sein. Hab in C1.h ein Quellcode 1 class C2; und in C2.h Quellcode 1 class C1; eingebaut und schon läuft die Sache... hätte ich auch selbst drauf kommen können ;-) Trotzdem vielen Dank !!!

07.09.2006, 20:20

Forenbeitrag von: »VeilOfOblivion«

Gegenseitige Abhängigkeit von Klassen

Ich hab mal wieder eine Frage... ;-) Wie kann man in 2 Klassen Zeiger auf Objekte der jeweils anderen Klasse einbauen ? Beispiel : Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class C1 { C1(void); ~C1(void); C2 *pC2; } class C2 { C2(void); ~C2(void); C1 *pC1; } Wenn ich das versuche, spuckt mir der Compiler Fehlermeldungen aus. Das versteh ich ja irgendwie auch. Weil in der Klasse C1 ist ja C2 noch nicht bekannt und somit kann keine Zeiger auf C2 angelegt werden. Da gibts aber doch aber sicher ...

06.09.2006, 14:05

Forenbeitrag von: »VeilOfOblivion«

Wofür virtuelle Funktionen?

Ah ja, langsam lichtet sich die virtuelle Dunkelheit ;-) Also wird bei virtuellen Methoden die tatsächlich übergebene Klasse (z.B. abgeleitete Klasse welche ja in ihre Basisklasse umgewandelt werden kann) benutzt und bei nicht-virtuellen die als Übergabe erwartete (also der Typ des Übergabeparameters) Klasse ? Kann man dann also Grundsätzlich sagen, das wenn vererbte Methoden angepasst werden sollen (von den beerbten Klassen), man sie IMMER als virtual deklarieren sollte? Oder gibts auch Situati...

06.09.2006, 08:18

Forenbeitrag von: »VeilOfOblivion«

Wofür virtuelle Funktionen?

Was hat es denn nun genau mit diesem dubiosen "virtual" auf sich? Wenn ich in einer Klasse eine Funktion als virtual kennzeichne, macht sie genau das gleiche wie wenn ich es nicht tue. Auch wenn ich eine andere Klasse von dieser ableite, dann tut die Funktion immer noch das gleiche. Und wenn ich diese Funktion in der abgeleiteten Klasse überschreibe dann nimmt er logischer Weise die neue Funktion. Aber da ist es vollkommen egal ob die Funktion in der Basisklasse virtual ist oder nicht. Laut mein...

21.08.2006, 12:52

Forenbeitrag von: »VeilOfOblivion«

Konstante Variablen und Funktionen

Aha! Ok. D.h. Methode ist dann als konstant zu deklarieren wenn sie keine Eigenschaften verändert. Oder umgekehrt : Konstante Objektmethoden können keine Objekteigenschaften ändern. Diese Regel kann ich aber umgehen in dem ich Eigenschaften die doch verändert werden sollen als "mutable" deklariere. Außerdem können konstante Objekte nur ihre ebenfalls konstante Methoden aufrufen. Hab ich das richtig verstanden ?

21.08.2006, 12:18

Forenbeitrag von: »VeilOfOblivion«

Konstante Variablen und Funktionen

Ok. Verstanden. Nur was hat es nun mit den konstanten Funktionen auf sich? Was ist daran konstant bzw. wann kann/soll ich die als konstant deklarieren ?

21.08.2006, 12:11

Forenbeitrag von: »VeilOfOblivion«

Konstante Variablen und Funktionen

Ah ja. D.h. es ändert nix am Code oder am Ablauf sondern "nur" an der Performance ? Also sollte man Grundsätzlich const verwenden wenn möglich ?

21.08.2006, 11:22

Forenbeitrag von: »VeilOfOblivion«

Konstante Variablen und Funktionen

Ich hätte da mal eine ganz allgemeine Frage. Was habe ich davon eine Variable oder eine Funktion als Konstant zu deklarieren? Mir ist klar das wenn ein anderer dann meine Variablen benutzt das er diese nicht aus versehen verändert. Aber Funktionen ?? Viele Grüße, Thorsten

11.08.2006, 08:51

Forenbeitrag von: »VeilOfOblivion«

Listing 10.1 Ein Windows-Grundgerüst

Genau. Hab die neu installiert und schon lief alles... und da soll man als C++-Anfänger erstmal drauf kommen :-)

08.08.2006, 07:59

Forenbeitrag von: »VeilOfOblivion«

Listing 10.1 Ein Windows-Grundgerüst

So... hab den Visual C++ Express Edition + Platform SDK auf einem anderen PC installiert, mein von euch verbessertes und bei mir nicht laufendes Listing reinkopiert, gestartet und siehe da... es läuft... liegt wohl an meiner Installation... werd das heute Abend mal alles runterwerfen und neu installieren... und wegen sowas zweifelt man schon an seiner Auffassungsgabe.... *grummel* Trotzdem vielen Dank an alle und sorry für die ewige Fragerei... P.S. und für meine Faulheit *fg zu flux* ;-)

08.08.2006, 06:47

Forenbeitrag von: »VeilOfOblivion«

Listing 10.1 Ein Windows-Grundgerüst

Kein Problem flux. Langsam glaube ich das da mit dem Compiler was nicht stimmt. Vielleicht sollte ich den mal deinstallieren, die PSDK runterwerfen und beides nochmal neu installieren. Weil so blöd bin ich normalerweise nicht das ich das überhaupt garnicht hinbekomme... außerdem habe ich jetzt gemerkt das die Vorgabe wenn ich eine Win32-Application erzeugen lasse (also das Grundgerüst) die gleiche Fehlermeldung bekomme :-)

07.08.2006, 21:22

Forenbeitrag von: »VeilOfOblivion«

Listing 10.1 Ein Windows-Grundgerüst

Also... wenn es Faul ist das ich seit 2 Tagen hier sitze und dieses blöde Problem lösen will dann weiß ich nicht wie ihr das macht... Ich habe das selbe Probiert... mit dem Erfolg das ich besagte Linker-Fehlermeldungen bekommen hab... also bevor du Anschuldigungen über Faulheit loslässt, solltest du mal über 2 Dinge nachdenken : 1) Wenn ich dieses Buch lese um das es hier in diesem Teil des Forums geht bin ich sicher kein Profi sondern fange mit der Materie erst an 2) Vielleicht mal vorher nachf...

07.08.2006, 21:12

Forenbeitrag von: »VeilOfOblivion«

Listing 10.1 Ein Windows-Grundgerüst

Ach ja... und wenn ich Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 ... hWnd = CreateWindowExW (NULL, szClassName, _T("Fenstertitel"), WS_OVERLAPPEDWINDOW | WS_VISIBLE, 100, 100, 300, 250, NULL, NULL, hInst, NULL); ... schreibe kommen 10 Linker-Fehlermeldungen ... die ersten 9 lauten Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DispatchMessageW@4" in Funktion "_WinMain@16". win.obj mit diversen anderen externen Symbolen... und der 10. Fehler 10 fatal error LNK1120: 9 nic...

07.08.2006, 21:08

Forenbeitrag von: »VeilOfOblivion«

Listing 10.1 Ein Windows-Grundgerüst

Schön... und jetzt weiß ich das TCHAR ein Typedef (=Synonym) von WCHAR ist... was wiederum ein typedef von wchar_t ist... und LPCWSTR ein Zeiger auf ein WCHAR... Und jetzt ? Mein Code funzt immer noch nicht... ;-) Sag doch einfach mal die lösung. Dann kann ich mir darüber Gedanken machen wieso es so sein muß und wieso es so wie es jetzt ist nicht funktioniert...

07.08.2006, 19:20

Forenbeitrag von: »VeilOfOblivion«

Listing 10.1 Ein Windows-Grundgerüst

Wenn du mir jetzt noch verrätst wie ich dein Kommentar in der "CreateWindowEx" umsetzen kann ? Wie und wo wird dieses ominöse _T eingesetzt...und vor allem wo steht das denn im Buch ???? :-) Sorry wenn ich mich blöd anstellen sollte... ;-) Und... wenn wir schonmal dabei sind... könnt ihr mir mal genau erklären (oder sagen wo ich dazu was finde) was TCHAR und LPCWSTR ist ? In der VS-HIlfe finde ich dazu leider nix... oder ich bin zu blöd zum suchen :-)

07.08.2006, 19:08

Forenbeitrag von: »VeilOfOblivion«

Listing 10.1 Ein Windows-Grundgerüst

Das hatte ich doch als erstes getestet (s. mein erstes Posting hier). Trotzdem kommt der Fehler. Dann der Hinweis mit dem TCHAR und wieder der gleiche Fehler...

07.08.2006, 18:59

Forenbeitrag von: »VeilOfOblivion«

Listing 10.1 Ein Windows-Grundgerüst

Also ich hab keine Ahnung was ich falsch mache. Ich hab genau den Teil ausgetauscht den ihr gesagt habt und trotzdem habe ich die Fehlermeldung Fehler 1 error C2664: 'CreateWindowExW': Konvertierung des Parameters 3 von 'const char [13]' in 'LPCWSTR' nicht möglich Hier nochmal das Listing das ich von der Buch-CD geladen und mit eurer Hilfe korrigiert habe. Ich habe die Stelle an der der Compiler meckert mal makiert : Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...

07.08.2006, 09:26

Forenbeitrag von: »VeilOfOblivion«

Listing 10.1 Ein Windows-Grundgerüst

Sehr schön. Das ist doch mal eine konkrete Antwort. Wie gesagt werd ich das gleich heute Abend mal probieren. Leider muß ich erstmal meine 8 Std. absitzen... ääähm... ich meinte arbeiten ;-)

Werbeanzeige