Beste mensen,
Ik ben nu al de hele ochtend bezig met Posix Threads voor mijn applicatie (C++), maar ik krijg telkens deze error:
Wat ik probeer, is het volgende:
Terwijl ik een aantal Tutorials/HowTo's gelezen en gevolgd heb. Het vreemde is (vind ik), dat dit wel werkt:
Het enige verschil lijkt mij, dat het eerste plaatsvindt binnen eigen classe, en het tweede niet... Kan iemand mij vertellen wat de fout is die ik maak?
Ik ben nu al de hele ochtend bezig met Posix Threads voor mijn applicatie (C++), maar ik krijg telkens deze error:
code:
1
2
| smtpserver.cpp: In constructor `SMTPServer::SMTPServer()': smtpserver.cpp:123: error: argument of type `void*(SMTPServer::)(void*)' does not match `void*(*)(void*)' |
Wat ik probeer, is het volgende:
code:
1
2
3
4
5
6
7
8
9
10
| #include <pthread.h>
void* SMTPServer::filterThreadFunction(void* ptr);
void* SMTPServer::filterThreadFunction(void *ptr){
fprintf(stderr, "filterThreadFunction started!");
}
SMTPServer::SMTPServer(){
pthread_create(&filterThread, NULL, &filterThreadFunction, (void *)"thread1");
} |
Terwijl ik een aantal Tutorials/HowTo's gelezen en gevolgd heb. Het vreemde is (vind ik), dat dit wel werkt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| #include <pthread.h>
#include <stdio.h>
void *test(void* arg){
printf("%s\n", (char*)arg);
return NULL;
}
int main (void){
pthread_t t1;
pthread_create(&t1, NULL, &test, (void *)"thread1");
pthread_join(t1,NULL);
return 0;
} |
Het enige verschil lijkt mij, dat het eerste plaatsvindt binnen eigen classe, en het tweede niet... Kan iemand mij vertellen wat de fout is die ik maak?
[ Voor 6% gewijzigd door Verwijderd op 24-06-2004 12:34 ]