Ich versuche Pthread Beispiel. Hier ist mein Code:Fehler: kann eine Variable vom Typ 'int' mit einem Lvalue vom Typ 'void' nicht initialisieren
#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>
void*AsalK1(void *gelen);
int main(){
int *i;
i= new int;
*i=1;
int sonSayi;
pthread_t th1, th2, th3, th4;
printf("---------------------------------------------\n");
printf("| Threadler ile Asal Sayi Bulma |\n");
printf("---------------------------------------------\n");
printf("Son sayi degeri: 1000000 \n");
int r1=pthread_create(&th1, NULL, AsalK1, (void *)i);
*i=3;
int r2=pthread_create(&th2, NULL, AsalK1, (void *)i);
*i=5;
int r3=pthread_create(&th3, NULL, AsalK1, (void *)i);
*i=7;
int r4=pthread_create(&th4, NULL, AsalK1, (void *)i);
pthread_join(th1, NULL);
pthread_join(th2, NULL);
pthread_join(th3, NULL);
pthread_join(th4, NULL);
return 0;
}
void *AsalK1(void *gelen){
int bas= *gelen;
printf("bas :&d\n",bas);
}
und ich verwende diesen Code zu kompilieren:
gcc -lpthread ThreadDeneme.cpp
oder
g++ -lpthread ThreadDeneme.cpp
und der Fehler sagt:
kann eine Variable nicht initialisieren vom Typ 'int' mit einem Lvalue vom Typ 'void' int b als = * gelen;
Ich benutze diese:
int bas = (int *) gelen;
aber Fehler noch in Bearbeitung.
Ich las:
What is the difference between these uses of pointers?
Bitte bearbeiten Sie Ihren Code und beheben Sie die Einrückung. Entfernen Sie auch das C++ - Tag. Ich werde diese Frage nicht lesen. – Lundin
Im Gegensatz zu @Lundin ist dies: 'i = new int;' ist nicht C. Bitte markiere richtig und mische keine Sprachen. – unwind
@unwind Ebenso ist die allererste Zeile '#include' nicht C++. –
Lundin