Ich nahm dies von einer Antwort auf eine Frage auf, wie man objective-c-Methode von C++ - MethodeAufruf der Objective-C-Methode von der C++ - Funktion?
aufrufen Dies läuft gut.
MyObject-C-Interface.h
#ifndef __MYOBJECT_C_INTERFACE_H__
#define __MYOBJECT_C_INTERFACE_H__ 1
int MyObjectDoSomethingWith (void *myObjectInstance, void *parameter);
#endif
MyObject.h
#import "MyObject-C-Interface.h"
@interface MyObject : NSObject
{
int someVar;
}
- (int) doSomethingWith:(void *) aParameter;
@end
MyObject.mm
#import "MyObject.h"
@implementation MyObject
int MyObjectDoSomethingWith (void *self, void *aParameter)
{
return [(id) self doSomethingWith:aParameter];
}
- (int) doSomethingWith:(void *) aParameter
{
// ... some code
return 1;
}
@end
MyCPPClass.cpp
#include "MyCPPClass.h"
#include "MyObject-C-Interface.h"
int MyCPPClass::someMethod (void *objectiveCObject, void *aParameter)
{
return MyObjectDoSomethingWith (objectiveCObject, aParameter);
}
JETZT Wenn ich so etwas wie
MyObject-C-Interface.h
#ifndef __MYOBJECT_C_INTERFACE_H__
#define __MYOBJECT_C_INTERFACE_H__ 1
@class MyObject;
int MyObjectDoSomethingWith (MyObject* myObjectInstance, void *parameter);
#endif
Meine Frage ist stattdessen der Verwendung void * myObjectInstance, wenn ich MyObject * myObjectInstance verwende.
es diesen Fehler
Fehler gibt: erwartet unqualifizierte-ID [1]: @class Linie und
Fehler: Verwendung von nicht deklarierter Bezeichner 'MyObject' [3] in Linie Funktionsprototyp
Hilfe!!!!
überprüfen Sie bitte diese [link] (http://www.cocos2d-iphone.org/forum/. topic/14340) – StackFlowed
Verschieben Sie einfach MyObjectDoSomethingWith aus der MyObject @ Implementierung. –