Avatar billede appel Novice
13. maj 2002 - 17:45 Der er 4 kommentarer og
1 løsning

_beginthread med flere argumenter

Jeg vil gerne lave en funktion som tager som argument den funktion som thread´en skal udføre og også de argumenter som denne funktion skal kaldes med.
Problemet er at jeg ikke ved hvordan man giver en funktion som input til en anden funktion (vha pointer?) og heller ikke hvordan man giver _beginthread sin "argumentliste" videre.

void start_thread(funktion, argumenter){
        _beginthread(funktion,4096,argumenter);
}

Syntax for beginthread:

#include <process.h>
unsigned long _beginthread(void (_USERENTRY *__start)(void *),
  unsigned __stksize, void *__arg);
Avatar billede appel Novice
13. maj 2002 - 17:46 #1
På forhånd tak forresten!!!
Avatar billede kamikaze Nybegynder
13. maj 2002 - 21:19 #2
Avatar billede kamikaze Nybegynder
13. maj 2002 - 21:22 #3
//-----------------------------------------------------------------------------------------
  // 2.6 How to Pass a Function Pointer

  // <pt2Func> is a pointer to a function which returns an int and takes a float and two char
  void PassPtr(int (*pt2Func)(float, char, char))
  {
      float result = pt2Func(12, 'a', 'b');    // call using function pointer

      cout << result << endl;
  }

  // execute example code - 'DoIt' is a suitable function like defined above in 2.1-4
  void Pass_A_Function_Pointer()
  {
      cout << endl << "Executing 'Pass_A_Function_Pointer'" << endl;
      PassPtr(&DoIt);
  }
Avatar billede appel Novice
14. maj 2002 - 10:43 #4
Jeg siger mange tak!
Avatar billede kamikaze Nybegynder
14. maj 2002 - 11:32 #5
Tak for points :-)
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
Kategori
Kurser inden for grundlæggende programmering

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