Avatar billede zerohero Nybegynder
01. marts 2005 - 14:03 Der er 3 kommentarer

Pointer til en funktion fra en klasse!

Hvordan definere man en pointer der skal pege paa en funktion fra en klasse?

Mit foerste gaet var noget lign.:

typedef class void(*FUNCTION)();

men det virker ikke!
Avatar billede arne_v Ekspert
01. marts 2005 - 14:54 #1
Du kan kun sende en C function eller en C++ class static method med over som
function pointer.
Avatar billede arne_v Ekspert
01. marts 2005 - 14:55 #2
Eksempel på workaround:

#include <iostream>

using namespace std;

#include <windows.h>

DWORD __stdcall dispatcher(void *p);

class X
{
    private:
        int v;
    public:
    X(int v) { this->v = v; };
    void Doit() { cout << v << endl; };
    void Start() { HANDLE h = CreateThread(NULL,0,dispatcher,this,0,NULL);
                  WaitForSingleObject(h,INFINITE); }
};

DWORD __stdcall dispatcher(void *p)
{
    X *x = (X *)p;
    x->Doit();
    return 0;
}

int main()
{
    X *x = new X(123);
    x->Start();
    return 0;
}
Avatar billede zerohero Nybegynder
02. marts 2005 - 11:12 #3
Jeg har proevet mig lidt frem og fandt ud af at...

typedef void (KLASSE::*FUNKTION)();

burde virke korrekt!
Men om det er den "Rigtige" loesning er jeg ikke helt sikker paa!

Arne>> Dit eksempel ser lidt kompliceret ud for mig! :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel