Lors de la compilation du code suivant à l'aide de gcc avec -Werror=pedantic
, le rapport error: ISO C forbids forward references to 'enum' types [-Werror=pedantic]
sera généré.Options gcc pour détecter les références "forward vers les types" enum "
enum foo foo_test(void);
enum foo {
FOO_0
};
enum bar {
BAR_0
};
int main(int argc, char **argv)
{
printf("sizeof(enum foo) %zu, sizeof(enum bar) %zu\n",
sizeof(enum foo), sizeof(enum bar));
return 0;
}
Dans mon projet, je me sers beaucoup de code tiers open source, et un code source a le même problème de ce qui précède. Si j'ajoute -Werror=pedantic
aux options gcc, cela provoquera de nombreuses erreurs. Je veux détecter l'erreur à propos de références avant à 'enum' types seulement, mais pas d'erreurs supplémentaires. Y at-il une autre option gcc peut signaler cette erreur?
gcc version: v4.9.3 bras none-eabi-gcc
Testé votre code sur https://godbolt.org. Il ne compile même pas sans '-Werror = pedantic' – xvan
@xvan umm, lien erroné peut-être? Notez que le compilateur doit être GCC pour compiler, il utilise une extension GCC –
@xvan sérieusement? Je n'ai pas pu trouver de compilateur sur lequel * ne compilait pas? –