Je veux déclarer un style de classe C++ dans un en-tête objective-c, mais j'obtiens une erreur "error: expected '=', ',', ';', 'asm' ou '__ attribut __' avant 'CPPClass' "Déclaration de classe C++ dans l'en-tête objective-c
Voici le code du fichier .h.
class CPPClass;
@interface OBJCClass : NSObject
{
CPPClass* m_pCPPObject;
}
@end
si je le mettre en œuvre un style objectif-c @class CPPClass
je reçois une erreur lors de la définition, en disant qu'il ne peut pas trouver la déclaration d'interface. Y at-il de toute façon à faire cela, sinon, toutes les classes objectives-c qui importent mon fichier d'en-tête avec l'en-tête C++ importé doivent aussi être des fichiers .mm.
ps. J'ai renommé le fichier m en mm.
Quels sont les fichiers que vous avez? CPPClass.cpp, CPPClass.h, OBJCClass.mm et OBJCClass.h? Qu'est-ce que le fichier en cours de compilation est réellement répertorié immédiatement avant l'erreur de compilation? Ma conjecture est que le fichier .cpp se plaint réellement quand #include le fichier avec les définitions d'obj-c. –
les classes sont comme vous l'avez dit, le fichier cpp n'inclut jamais le OBJCClass.h. Je pense que le problème est que d'autres classes obj-c incluent OBJCClass.h et ne peuvent pas interpréter la déclaration de style c. – MartinG