我有下面的Objective-C ++头文件,它带有返回该指针的简单方法。

@interface MyObj
{
  MyCPPObj * cpp;
}
-(MyCPPObj *) getObj;


我已经创建了简单的方法

@implementation MyObj
-(MyCPPObj *) getObj
{
  return cpp;
}


在我实际上尝试在另一个文件中使用该对象之前,一切似乎都可以正常工作

newObj = [createdMyObj getObj];


它抱怨:错误:初始化时无法将'objc_object *'转换为'MyCPPObje *'。

看来该方法返回的是Objective-C对象,但我特别要求使用C ++指针。

MyCPPObj是一个诚实的C ++类:

class MyCPPObj
{
 public:
   int x;
}


我该如何解决?

最佳答案

您很可能忘记了将#import头文件和@interface放入使用getObj的.mm文件中。

10-08 08:25