erreur: Une étiquette ne peut être partie d'une déclaration
Je suis en train d'écrire un interpréteur brainfuck en C, et je vais avoir un peu de difficulté avec l'utilisation de somethings je n'ai pas l'habitude. En brainfuck, une virgule ( ,) est essentiellement getchar(). J'ai donc le code suivant:
//This is just ptr
static char *ptr;
switch (command)
{
case ',':
*ptr=getchar(); //Here's the code causing error
break;
}
gcc jette error: a label can only be part of a statement and a declaration is not a statement
à moi quand j'essaie de compiler ce.
Des idées? (Désolé à ce sujet, n'est pas si familier avec cette erreur)
est-il à l'intérieur d'un
Afficher plus de vous code; et peut-être ajouter un point-virgule
Oui, c'est dans un switch, je suppose que je n'.
Veuillez post exemple minimal. Ce code ne comporte pas d'erreurs.
Vérifiez ceci: stackoverflow.com/questions/92396/...
switch
déclaration?Afficher plus de vous code; et peut-être ajouter un point-virgule
;
à la ligne en erreur.Oui, c'est dans un switch, je suppose que je n'.
Veuillez post exemple minimal. Ce code ne comporte pas d'erreurs.
Vérifiez ceci: stackoverflow.com/questions/92396/...
OriginalL'auteur Joshua Hedges | 2011-12-19
Vous devez vous connecter pour publier un commentaire.
Je crois que tu veux dire
au lieu de
Parce que
*=
signifie multiplier la valeur sur le côté gauche avec la valeur sur le côté droit et en l'attribuant à la gauche de la valeur. Cependant, vous voulez de déréférencementptr
et écrire le résultat degetchar
à cet emplacement.D'autres que votre code compile parfaitement bien avec ma version de gcc (si je déclare
command
quelque part), de sorte que vous ne sont évidemment pas de nous montrer un exemple complet.ptr*=getchar() donnerait une autre erreur:
error: invalid operands to binary * (have char * and int)
, et Non dans la question.Bon point. Mais ils ont été liés. Sinon, je ne vois pas d'erreur dans le code.
Terriblement désolé pour la perte de temps.
OriginalL'auteur bitmask
C'était entièrement de ma faute, j'avais déjà commenté le code avant. J'ai pensé que c'était le code de l'origine de l'erreur en raison de m'en commentant les deux codes en même temps, et ce n'était pas la cause de cette erreur. Cependant j'ai essayé de commenter les deux, et je comprends maintenant pourquoi.
C'était quelque chose à propos de FICHIER et à l'aide de ma recherche dans un cas différent.
OriginalL'auteur Joshua Hedges