I have a source code that gives the error "expression must have pointer type" 

It is legacy code and I do not have the whole code. The code on which the error comes is:

```
(void *)&arr[0]

```

I do not know the type of `arr`. 

1. On what conditions can this error occur?
2. What type of `arr` could be causing this error?

I know the data is less to determine the issue but I need to emulate it in smaller code. Any help will be highly appreciated.