4

Ahファイルで次のことを試みました:

#include "Bar.hpp"

#import <Foundation/Foundation.h>

namespace foo 
{
  struct A : Bar::B
  {
    public:

    A() : Bar::B() {}

    id delegate;

    virtual void OnEvent(...);
  };
}

しかし、「NSStringが何であるかわかりません」などの無数のエラーが発生します。正しく行うにはどうすればよいですか?

4

2 に答える 2

5

あなたはそれを.cppファイルに含めていますか?名前を変更し.mmます (これは、Objective-C++ の正しいファイル拡張子です)。

于 2012-08-28T16:12:27.533 に答える
2

「通常の」C++ クラス内で (Objective C++ ではなく) Objective C クラスの 1 つを使用する場合は、この記事で説明されているトリックを使用できます。 「実際の」Objective C オブジェクトの。<objc/objc-runtime.h><Foundation/Foundation.h>struct objc_object

#ifdef __OBJC__
@class ABCWidget;
#else
typedef struct objc_object ABCWidget;
#endif

namespace abc
{
  class Widget
  {
    ABCWidget* wrapped;
  public:
    Widget();
    ~Widget();
    void Reticulate();
  };
}
于 2012-08-28T16:17:15.793 に答える