Bonjour
J'ai dans un code un message d'erreur qui m'est totalement incompréhensible: "case label in scope of identifier with variably modified type not containing enclosing switch statement"
Voici le code:
Originellement il n'est pas comme ça, mais j'ai tenté de le réduire le plus possible pour voir d'où venait l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 int precompiler(char *pos_ligne){ char lettre; switch('d'){ case '{' : //On a une liste de lettre lettre='a'; int i=2; char param_l[i]; case '[': break; } }
Vous remplacez i par 2 entre crochet, et l'erreur disparait.
Vous supprimez l'affection de lettre et l'erreur disparait. (autre question, pourquoi est il impossible de commencer un case x: par une déclaration de variable?)
vous supprimez le deuxième case et l'erreur disparait.
Ce message d'erreur m'est affiché par cc et gcc, je suis actuellement sous ubuntu 7.10, et je tente de compiler avec "gcc -w -Wall -c -o test -std=c99 test.c"
N'importe quel aide (même une traduction du message d'erreur, car je comprend chaque mot, mais pas le sens de la phrase) serait la bienvenue.
Partager