2017-05-11 7 views
0

Ich habe andere Antworten zu diesem Thema gelesen, aber sie haben mir nicht geholfen. Ich erklärte ein globaler stecken:Initialisierungselement ist nicht konstant

typedef stuck { 
    .... 
    } a; 

und rechts, nachdem ich ein dynamisches Array dieser Struktur initialisiert:

a * severalA= (a*)malloc (sizeof (a)*3); 

nachdem ich Fehler erhalten kompilieren: „Element initialisieren ist nicht konstant“ auf die Malloc-Typ (fett). irgendeine idee was fehlt mir hier? Ich habe versucht, const vor der Initialisierung ohne Erfolg hinzuzufügen.

+0

Sie sollten das Ergebnis von malloc niemals umsetzen. Und vermeide es auch Pseudocode zu posten. – Badda

+6

Sieht aus, als wärst du mit diesem Problem _stuck_, oder? : D – ForceBru

+0

Schreiben Sie in die Funktion – BLUEPIXY

Antwort

0

Sie falsch geschrieben struct

Sie müssen stecken ändern

3

In C Sprachobjekten mit statischer Speicherdauer auf struct haben mit konstanten Ausdrücken oder mit Aggregate initializers enthält konstanten Ausdrücke initialisiert werden.

Meine Vermutung ist, dass Sie versuchen, mehrere A als eine globale Variable zu definieren - Ist das wahr?

In diesem Fall ist malloc() kein konstanter Ausdruck und kann nicht verwendet werden.

Verwandte Themen