Ich habe ein Array von Strukturen und ich beabsichtige, jedes Element des Arrays in separate Pthreads in einer for-Schleife übergeben.Schwierigkeit struct durch pthread_create
Hier ist meine Struktur:
struct arrayData{
int *a;
int *b;
int up, low;
}
Hier ist der Zeiger auf die erste Struktur und eine malloc (weiß nicht, ob ich recht, was hier geht):
struct arrayData * instance;
instance = malloc(sizeof(struct arrayData)*n);
Hier Mein Aufruf an pthread_create:
pthread_create(&thread[i], NULL, add, (void *)instance[i]);
Und für diese Zeile bekomme ich die Meldung "Kann nicht in einen Zeigertyp konvertieren".
Was könnte mit dieser Linie falsch sein?
Ausgezeichnet! Vielen Dank. Müssen die Bücher auf C in diesem Sommer schlagen, da ich viel zu rostig bin. Warum bekomme ich immer noch eine Warnung für diese Zeile, die besagt, dass "Argument 3 von 'pthread-create' von einem inkompatiblen Zeigertyp übergeben wird?" – Chucky
Was ist die Signatur Ihrer 'add'-Funktion? –
"void * hinzufügen (void * arg) {" – Chucky