Bueno, tengo más información.
parece ser que el error2 sale porque no se puede llamar a una función con el mismo nombre que una clase/typedef/struct existente.
Parece que "existe" un struct llamado Controlador que está fastidiando aquí.
http://stackoverflow.com/q/282800
La gracia es que no está.
VOy a ver si encuentro más información para ver si podéis ayudarme.
Gracias a todos