difficile dire senza alcun campione, ma IIRC questo avviene come conseguenza di utilizzare un simbolo indefinito (ad esempio, una funzione o un tipo senza un dichiarazione - non sono sicuro quale esattamente). Di conseguenza, il parser si confonde e non sa cosa aspettarsi più avanti nel codice.
- (credo che questo errore si verifica solo in combinazione con altri errori o si può fornire un frammento di codice che darebbe solo questo errore sul compilatore GCC??) -
edit: Nel codice che hai fornito , è solo il parser che si perde dopo aver incontrato un simbolo "&" in un posto illegale - quindi una conseguenza della sintassi non valida, non della semantica non valida.
Tali messaggi di errore criptici (o spesso peggiori) sono la conseguenza del fatto che la grammatica di C++ è indecidibile e il compilatore, vedendo un errore, non può davvero indovinare cosa doveva essere lì e quindi non può generare una descrizione più accurata .
Come su un esempio? – TonyK
Si suppone che sia una dichiarazione di funzione o una chiamata di funzione? – MSalters
Chiamata funzione msalters –