vedo questo messaggio di avviso quando si compila (gcc 4.6.3, ubuntu) l'esempio:C++ Attenzione: tipo anonimo, senza legame utilizzato per dichiarare variabile
struct {
} a;
int main()
{
}
warning: anonymous type with no linkage used to declare variable ‘<anonymous struct> a’ with linkage [enabled by default].
GCC non dà questo avvertimento. Lo fa solo G ++.
Aggiunta statico cancella l'avvertimento:
static struct {
} a;
non riuscivo a capire che cosa vuol dire, soprattutto perché è legato alla type
linkage
. Ho pensato che il collegamento dipende da dove e come viene dichiarata una variabile, ma non dal tipo della variabile stessa.
related ?? http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41970 – billz
Se l'una o l'altra risposta ti hanno aiutato, dovresti accettare, ho notato che hai accettato solo una risposta, se non accetti risposte persone sarà meno probabile rispondere alle tue domande – aaronman