Das mit dem & hab ich auch schon mal versucht.
Hier wird dann aus dem Error aber ne Warning: "initialization discards qualifiers from pointer target type".
Diese Meldung kommt mir aus dem Bereich bekannt vor, wenn man versucht, mit memset ne volatile-Variable zu füllen.

Das mit den Compilermeldungen kenn ich recht gut; v.a. immer "lustig", wenn man in einer .h irgendwo nen ; vergisst und erst Kilometer später der Fehler an einer total falschen Stelle kommt.
Oder der Klassiker bei µVision: Variablendeklaration nach einem Befehl; da ist dann auf einmal ein Syntaxfehler, wo beim GCC keiner wäre.