Hilfe-Aufgabe 8

ich kappiere es nicht

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Hilfe-Aufgabe 8
Ich denke mein Programm sollte einigermassen fertig sein.

Aber wenn ich compiliere passiert folgendes:

Fehlermeldung: “assignment from incopatibel pointer type”

Dazu der relefante code:

#include

int main(){

struct ring_buffer* shm_buffer = NULL;

shm_buffer=attach_shm;

}

dazu der Code von attach_shm():

ring_buffer* attach_shm() {
ring_buffer* shm;

shm = shmat(shmid,0,0);
if(shm==-1){
	perror("attach");
	return NULL;
}

return shm;

}

Hoffe auf baldige antwort :moody:


hrhr, die Lösung dazu ist geil :smiley:
du musst die -1 casten g
das nächste mal gibst du bitte ne zeilennummer an und schreibst deinen Code in ein Code-Segment, dafür gibts die Option hier im Forum :motz:

if(shm==(struct ring_buffer*) -1){

/€: Ich frag mich grad, wie du das shm attachen kannst ohne ende shmid zu übergeben…


shmat liefert einen void Pointer zurueck, den du dann an shm zuweissen willst.
shm ist nicht vom typ (void *)

=> Fehlermeldung Zuweisung eines inkompatiblem Pointertypes

-1 koennte durchaus ein (void *) deswegen sollte sich der compiler da nicht beschweren