E2021 Un tableau doit avoir au moins un élément (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Erreurs et avertissements du compilateur (C++) - Index

En langage ANSI C et C++, un tableau doit être défini avec au moins un élément (les objets de taille nulle sont interdits).

L'astuce souvent utilisée consiste à déclarer un élément de tableau d'une structure comme ayant une taille nulle, puis à allouer l'espace nécessaire avec malloc.

Sachez que, même si vous avez recours à cette astuce, vous devez déclarer l'élément de tableau comme comportant au moins un élément si vous compilez en mode ANSI strict.

Les déclarations (par opposition aux définitions) de tableaux de taille inconnue sont autorisées.

Exemple

char ray[];         /* definition of unknown size -- ILLEGAL */
char ray[0];        /* definition of 0 size -- ILLEGAL */
extern char ray[];  /* declaration of unknown size -- OK */