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 110.

Werbeanzeige

03.03.2006, 13:24

Forenbeitrag von: »Samuel G.«

Beitrag

OK, hab den Fehler selber gefunden: Scheinbar sind member-templates nur dann erlaubt, wenn die Klasse keine virtuellen Funktionen hat. Dieser Artikel über die Feinheiten von C++ ist sehr zu empfehlen: http://www.glenmccl.com/lang.htm

02.03.2006, 17:15

Forenbeitrag von: »Samuel G.«

Beitrag

:sleep: Missverständniss! :sleep: (kommt mir zumindest so vor. Ich sage ja: man verändert den Wert nicht->also deklariert man in const->also KANN man ihn nicht mehr verändern)

02.03.2006, 16:10

Forenbeitrag von: »Samuel G.«

Beitrag

Wieso? Es hat die Wirkung, dass man den Rückgabewert nicht verändern kann. Das ist doch schön, da man es (in diesem Fall) normalerweise sowieso nicht tut. ^_^ Das Haar will ich gespalten sehn! ^_^

02.03.2006, 15:30

Forenbeitrag von: »Samuel G.«

Template-Problem: falscher Konstruktor wird verwendet!

Ich skizziere die Situation: Quellcode 1 2 3 4 5 6 7 8 template <typename TType,typename TListElement=CListElement<TType> > class CList { public: inline CList(void); inline CList(const CList<TType,TListElement>& ListObject); inline ~CList(void); }; Quellcode 1 2 3 4 5 6 7 8 9 10 11 template <typename TType,bool bAutoDelete=true,bool bAllowNullPointers=false> class CPointerList: public CList<TType*,CListElementPointer<TType,bAutoDelete> > { public: inline CPointerList(void); //copy pointers if bA...

02.03.2006, 15:16

Forenbeitrag von: »Samuel G.«

Beitrag

Also die Frage hat sich erledigt.

28.02.2006, 20:25

Forenbeitrag von: »Samuel G.«

Beitrag

Ich glaube du hast mich missverstanden. Egal: Ein Template steht im Header. Es beinhaltet keinen ausführbaren Code. Logisch, dass man es nicht exportieren kann. Meine Frage aber ist: Hat jemand Erfahrungen damit, ob es Speicherzugriffsprobleme geben kann, wenn eine exportierte Klasse eine Template-Klasse beerbt?

28.02.2006, 20:08

Forenbeitrag von: »Samuel G.«

Templates und Exportierte Klassen

Hallo Ich habe ne DLL. Sie exportiert u.a. Klassen, die ein Listentemplate beerben. Irgendwie habe ich das Gefühl, dass das Probleme macht. Es kracht andauernd: (Zugriffsverletzungen). Kann es sein, dass man eine Inline-Template-Klasse in ner DLL nicht beerben darf? Vielleicht hat jemand Erfahrung zu meinem Prob.

28.02.2006, 18:12

Forenbeitrag von: »Samuel G.«

Beitrag

Hmm. *.inl und *.tpl? Was ist das? Ich möchte auf dem Laufenden sein. Wo kann man was darüber lesen?

04.11.2005, 16:29

Forenbeitrag von: »Samuel G.«

Beitrag

Mann Mann. Aber das kompliziert die Sache natürlich! Ich habe mir ne File-Klasse geschrieben, die Teil ner komplexeren Vererbungs-/Abhängigkeiten-Hierarchie ist. Sie kapselt fstream, und wird aus ner DLL exportiert. Dann gibts noch Stream Manager-Klassen, .... also alles in allem nen recht komplexes System mit aufwendiger Vererbung (viel Late Binding). Sch----! Heißt das dann, dass ich mein System nicht mit fstream machen kann? Das darf doch nicht war sein!

04.11.2005, 15:59

Forenbeitrag von: »Samuel G.«

Beitrag

Also, ich hab noch was rausgefunden: Es kommt scheinbar auf den Kontext an, aus dem ich die Funktionen aufrufe: Wenn ich den fstream in der DLL (in der die Kapselung von fstream ist) close, schlägts fehl, wenn ich ihn aus der aufrufenden Exe aufrufe, klappt alles. Hat das vielleicht damit zu tun, dass fstream ne Template-Klasse ist?

04.11.2005, 00:46

Forenbeitrag von: »Samuel G.«

Beitrag

Hmm. Danke für die Tips. Zitat 1. Tipp: Warum pointer? 2. Tipp: Guck dir mal genau an ob Open klappt, das mit deinen Pointern riecht mach Murks. 3. Tipp: Guck dir mal genau an was "fail" macht. 1. Warum nicht? Ich habe sicher keinen Pointer-Fehler, sondern ein Problem mit fstream 2. Ich habs noch mal genau überprüft: Alle aufgerufenen Methoden von fstream klappen, fstream::close ist die erste Methode, die fehlschlägt (ich kanns selber kaum glauben) 3. Hmm. Alle Infos die ich dazu fand waren nich...

03.11.2005, 17:29

Forenbeitrag von: »Samuel G.«

Beitrag

Weiß keiner, was das bedeutet, wenn das failbit nach dem closen gesetzt ist? Kann man noch irgendwie genauere Infos kriegen, woran genau es scheitert? In der den Doks steht nur, z.B.: Zitat ios_base::failbit a nonfatal error has occurred Aber das bringt einem bei der Fehlersuche ja fast nix...

03.11.2005, 17:23

Forenbeitrag von: »Samuel G.«

Beitrag

Ja nun, das ist doch bloß so ne art pseudo-code (ich kann hier nicht ganze Klassendefinitionen posten, das liest sich kein Mensch mer durch), natürlich prüfe ich auch, ob open und write klappt - das tut es. Das befremdliche ist ja auch, dass nur close fehlschlägt.

03.11.2005, 13:28

Forenbeitrag von: »Samuel G.«

fstream::close schägt fehl - weiß nicht ein noch aus!

Hallo! Also. Ich öffne einen fstream, schreibe was hinein (bis dahin alles fstream::good), schließe mit fstream::close und dann ist fstream::fail()==true (aber kein anderes fehlerbit gesetzt), und die Datei ist leer. Bischen Code: C-/C++-Quelltext 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 27 fstream* m_pFStream=new fstream(); m_pFStream->open(*m_pStringPath,ios::out); m_pFStream->write(String.GetACString(),String.GetUILength()); m_pFStream->put ('\n'); m_pFStream->clos...

31.10.2005, 23:37

Forenbeitrag von: »Samuel G.«

Beitrag

Eigentlich unvernünftig. Man könnte sich doch so was vorstellen. Danke für die Antworten.

31.10.2005, 18:31

Forenbeitrag von: »Samuel G.«

Mehrere fstreams auf gleiche datei...

Hallo Ich will, mit zwei Objekten der Klasse fstream in die gleiche Datei schreiben. Wenn ich fstream::close() aufrufe, gibt aber fstream::fail() true zurück. Warum? Ist es etwa verboten mit 2 streams auf die selbe datei zu schreiben?

30.10.2005, 23:35

Forenbeitrag von: »Samuel G.«

Beitrag

Danke. Zitat Why is 6 afraid of 7? Because 7 8 9 :-D :-D :-D Find ich ne geile Signatur.

30.10.2005, 16:15

Forenbeitrag von: »Samuel G.«

Beitrag

Hey, thanks. So klappts. Aber warum muss ich diesen komischen cast verwenden? Warum geht das nicht normal? ??? ??? ???

30.10.2005, 16:07

Forenbeitrag von: »Samuel G.«

Beitrag

hmm. Auf DevCpp umsteigen.

30.10.2005, 15:59

Forenbeitrag von: »Samuel G.«

Casting problem

Hallo Ich hab mir ne Hierarchie überlegt um mit Streams zu arbeiten. Aber da gibst komische Sachen beim casting (ich blicks nicht). C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 //abstract base class class CStream { virtual void Func1(...)=0; }; class CReportStream: virtual CStream { virtual void Func2(...)=0; }; class CStreamManager: public sgCList<CStream> { //führt Func1 bei allen Objekten durch: Func1(...); }; class CReportStreamManager: public CStreamManager { //...

Werbeanzeige