2017-05-11 1 views
0

J'ai lu d'autres réponses à ce sujet, mais elles ne m'ont pas aidé. Je déclare une approche globale bloqué:l'élément d'initialisation n'est pas constant

typedef stuck { 
    .... 
    } a; 

et juste après i initialisés un tableau dynamique de cette structure:

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

après la compilation je reçois l'erreur: « élément initialize est pas constante » sur la type malloc (gras). une idée de ce qui me manque ici? J'ai essayé d'ajouter const avant l'initialisation sans succès.

+0

Vous ne devriez jamais lancer le résultat de malloc. Et évitez de poster du pseudo-code aussi. – Badda

+6

On dirait que vous êtes victime de ce problème, n'est-ce pas? : D – ForceBru

+0

Écrire dans la fonction – BLUEPIXY

Répondre

0

Vous avez mal orthographié struct

Vous devez changer coincé struct

3

Dans les objets en langage C avec une durée de stockage statique doivent être initialisés avec des expressions constantes ou initializers globales contenant des expressions constantes.

Je suppose que vous essayez de définir plusieurs A comme une variable globale - Est-ce vrai?

Dans ce cas, malloc() n'est pas une expression constante et ne peut pas être utilisée.