I am trying to assign a value pointed at by a `void *` in a `void *` array. Here is what I have so far: 

```
23 void queue_enqueue(void *q, void *item) {
24 int len = 0 ;
25 
26 len = sizeof(q) ;
27 q[len-1] = 
28     item ;
29     
30 return ;
31 
32 }

```

With this compiler error: 

```
myqueue.c:27: warning: dereferencing ‘void *’ pointer
myqueue.c:28: error: invalid use of void expression

```

I've been searching for an answer for about a hour now, but I haven't seen an implementation similar to what I have been given here. In case you were wondering, yes this is homework and the prototype was given by the instructor. 

Because they are passed as void \* I have been unable to use the gcc `typeof` operator. 

I'm okay with the warning. I know it's just gcc telling me that "be careful we're not going to check this for you", but I can't get rid of the error on line 28. 

Thank you for your help in advance.