pthread_exit() выдает предупреждение: приведение к указателю из целого числа другого размера [-Wint-to-pointer-cast] предупреждение
Я изучал библиотеку pthread и создал простой код для умножения двух чисел, однако я не могу избавиться от этого предупреждения. Пс. Код работает нормально.
#include <stdio.h>
#include <pthread.h>
struct numbers {
int num1,num2;
};
void *mult(void *param) {
struct numbers *data = param;
int res = data->num1 * data->num2;
pthread_exit((void *)res);
}
int main(){
pthread_t tid;
struct numbers n;
n.num1 = 2;
n.num2 = 3;
pthread_create(&tid, NULL,mult, (void*)&n);
int res;
pthread_join(tid, (void *)&res);
printf("%d\n",(int)res);
return 0;
}
Вот предупреждение:
1.c: In function ‘mult’:
1.c:12:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
12 | pthread_exit((void *)res);
Будем очень признательны за любые идеи.
1 ответ
Изменение
pthread_exit((void *)res);
к
pthread_exit((void *)&res);