Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Funktionszeiger in einer Klasse

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
26.12.2015, 16:50 Uhr
~SOSO30
Gast


Hi Leute,

ich habe ein Problem das Äquivalent zu diesem hier ist. (leider unbeantwortet)

http://forum.alglib.net/viewtopic.php?f=2&t=884&sid=64b122bf4270b6c7cec74e1b75798036

die Funktion minlmoptimize() erwartet:

C++:
void minlmoptimize(minlmstate &state, void (*fvec)(const real_1d_array &x, real_1d_array &fi, void *ptr))



einen function pointer. Nun befindet sich die Funktion in einer member function einer Klasse.
Habe in den letzten Stunden versucht einen Workaround zu finden. Der Code wird soweit ausgeführt crashed aber mit einem memory error.


C++:

Klasse
{
public:
    void function1_fvec_N(const real_1d_array &x, real_1d_array &fi, void *ptr);
    void (*function1_fvec_N2)(const real_1d_array &, real_1d_array &, void *);
};





C++:
void(Klasse::*functionPointer) (const real_1d_array&, real_1d_array &, void *) = & Klasse:: function;//pointer-to-member function
    
alglib::minlmoptimize(state, this->functionPointer);



würde mich sehr freuen wenn es geht...

Frohes Fest.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.12.2015, 11:06 Uhr
Tommix



Hallo,
eine C++-Member-Funktion muß static sein, sonst paßt die Signatur nicht. Nicht-statische Methoden haben einen zusätzlichen unsichtbaren Parameter "this".

Gruß,
Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.12.2015, 19:38 Uhr
ao

(Operator)



Zitat von ~SOSO30:
Hi Leute,
ich habe ein Problem das Äquivalent zu diesem hier ist. (leider unbeantwortet)
http://forum.alglib.net/viewtopic.php?f=2&t=884&sid=64b122bf4270b6c7cec74e1b75798036


Das Problem hier war, dass jemand nicht kompilieren konnte, vermutlich weil er von dem versteckten this-Parameter, den Tommix erwähnt hat, nichts wusste.

Wenn dein Code anläuft und dann crasht, dann bist du über dieses Stadium offenbar schon hinaus. In dem Fall bitte ein vollständiges Beispiel posten, mit dem der Fehler nachvollzogen werden kann. Falls deine Applikation sehr umfangreich ist, bitte so weit wie möglich abspecken. Ich weiß, das macht Arbeit, aber so ist der Deal, wenn man im Internet Hilfe haben will.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: