2009-12-01 2 views
1

Je reçois ce à partir d'une application iPhone je travaille. Je ne sais pas comment interpréter l'erreur ... Il est jeté à quelques endroits dans mon code. Je ne vois aucun modèle d'occurrence.erreur Objective-C: attendu « = », « », « », « asm » ou « __attribute__ » avant « classe »

Est-ce une erreur générique? Quelle est la signification de cela?

+2

Vous pourriez vouloir écrire du code. Il est difficile de déterminer le problème dans l'abstrait. –

+0

La première occurrence se trouve dans un fichier .h. Voici la source: #import #import "User.h" #import "Location.h" #import "Media.h" #import "Logger.h" @ classe Location, Utilisateur, Média, Enregistreur; Le compilateur met en surbrillance la ligne de classe. Des idées? – Yav

+0

Pouvez-vous également publier 'Logger.h'? – notnoop

Répondre

4

L'erreur que vous avez affichée indique que vous avez une erreur de syntaxe autour de votre utilisation de class. Inspectez manuellement le premier emplacement où l'erreur est signalée, et vous pouvez remarquer la cause.

Pour vous aider à déboguer plus loin, s'il vous plaît inclure le code environnant afin que nous puissions mieux vous aider.

causes les plus fréquentes:

  1. manqués @ dans @class pour la déclaration de classe avant les en-têtes
  2. Vous avez manqué ; après la déclaration d'un ENUM, une structure ou un typedef
  3. Copié code C++, où class est utilisé pour déclarer une structure, mais le code est invalide dans Objective-C
+0

Merci pour les pointeurs; Je le regarde – Yav

2

Je viens de solv J'ai exactement le même problème et j'ai arraché mes cheveux par-dessus. GCC ne mettait pas en évidence le problème dans le fichier d'en-tête où l'erreur s'était réellement produite - j'avais un caractère 'B' errant en bas d'un fichier d'en-tête (de la commande B à compiler). L'erreur était alors lancée dans le fichier .m et les autres fichiers .h qui contenaient le fichier problématique, souvent dans l'instruction @class. Si cela pose un problème avec votre instruction @class, le problème est presque définitivement dans l'un des fichiers d'en-tête précédents, car vous les incluez directement au préalable - essayez de les commenter un par un et de les recompiler pour savoir lequel . Une fois que vous trouvez le fichier coupable, trouver l'erreur réelle sera beaucoup plus facile.

0

Identique à Ronan sauf que cette fois j'avais un caractère parasite dans un fichier source juste avant que je commence l'importation en-têtes (de même qu'il était un « s » pour la commande-S). Cela m'a particulièrement ébranlé puisque le message d'erreur était associé à un fichier d'en-tête de bibliothèque que je n'avais jamais touché et que l'application fonctionnait correctement depuis des semaines. Donc, si vous obtenez ces erreurs associées à des fichiers d'en-tête qui semblent être bien et que vous n'avez pas touché chercher quelque chose comme ça.

Questions connexes