Objekterzeugung
-
Hallo zusammen,
ich möchte einen Objekt von einer Klasse erzeugen, kriege das aber nicht hin:
Mein Konstruktor sieht folgermaßen aus:
Interpolator::Interpolator(Motion* pSampledMotion, char* pOffsetFileName) { bla bla }Ich möchte hiermit ein Objekt erzeugen:
char* OffsetFile = "text.txt"; static Motion *pSampledMotion = NULL; void interpolate_callback(Fl_Button *button, void *) { //interpolate_button->value(); Interpolator neu = new Interpolator(pSampledMotion, OffsetFile); }Ich bekomme aber immer die dumme Fehlermeldung, kann auch nichts damit anfangen:
--------------------Configuration: key_frame1 - Win32 Debug-------------------- Compiling... player.cxx C:\Dokumente und Einstellungen\Resul\Desktop\Partition\BILKENT\Computer Animation\Motion Capture\Acclaim\asf_amc_viewer 1-18-2005\viewer\player.cxx(202) : error C2440: 'initializing' : cannot convert from 'class Interpolator *' to 'class Interpolato r' No constructor could take the source type, or constructor overload resolution was ambiguous Error executing cl.exe. key_frame1.exe - 1 error(s), 0 warning(s)Hat einer ne Idee ? würd mich echt freuen wenn einer mir mal unter die Arme greifen würde..
Grüße
-
Jo...
Interpolator neu(pSampledMotion, OffsetFile);Erzeugt ein neues Objekt auf dem Stack, das stirbt wenn der entsprechende Block (das mit den {} Klammern) zuende ist.
Interpolator* neu = new Interpolator(pSampledMotion, OffsetFile);Erzeugt ein neues Objekt auf dem Heap, auf das der Zeiger "neu" zeigt. Für das Aufräumen bist Du verantwortlich.
Du versuchst beides zu mischen

-
Jo danke Dir, ist ein dummer Fehler gewesen ich weiss, auf jedenfall habe ich wieder was dazu gelernt, alles gute....
elturco