lut je veut utiliser cette fonction sous linux :
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
void main()
{
char *buff;
buff = new char [50];
pthread_cleanup_push (free, buff);
pthread_cleanup_pop (1);
}
ca ca passe au compilateur mais maintenant si je lui passe une socket genre :
#include <pthread.h>
#include <unistd.h>
void main()
{
char *buff;
int sock;
buff = new char [50];
pthread_cleanup_push (free, buff);
pthread_cleanup_push (close, (void *)&sock);
pthread_cleanup_pop (1);
pthread_cleanup_pop (1);
}
alors la le compilateur il aime po du tout et me sort l'erreure suivante :
passing 'int (*)(int) throw ()' as argument 2 of '_pthread_cleanup_push(_pthread_cleanup_push_buffer *, void (*)(void *), void *)'
voila j'espère que kkun arrvira a me dire pourquoi ca ne marche pas car ca fait plusieurs heures que je suis dessus et j'arrive po