Xcodeで自分のクラスの前方宣言を使用しようとしました。Xcodeでクラスの前方宣言を使用するときにエラーが発生する
は、ここに私の基本的なアーキテクチャです:
MyClassA.h:
class MyClassA{
... list of members and method prototypes ...
};
MyClassA.cpp:
#include "MyClassA.h"
--- list of methods for MyClassA ...
MyClassB.h:
class MyClassA; // forward declaration
class MyClassB{
... list of members and methods ...
MyClassA* ptrToA;
};
MyClassB.cpp:
#include "MyClassB.h"
... list of methods for MyClassB ...
これは、Visual StudioのWindowsマシンで問題なく動作します。常に実行します。しかし、XcodeのMacでは、それは私にエラーを与えている:
Forward declaration of 'struct MyClassA'
アイデア?エラーメッセージはあまり意味がないようですが、私はクラスとして明示的に宣言しています。構造体についてのエラーが返ってきます。前方宣言はXcodeではサポートされていません(かなりシンプルなエラーメッセージは、これがstruct/classの混乱以外の問題であると思われます)?私のプロジェクトはCではなくC++としてコンパイルされています。これを引き起こしている別のプロジェクト設定がありますか?
ありがとうございました。
私はあなたが完全に見積もることができる例にそれをトリミングしようとすることをお勧めします。それで、人々は、例えばMyClassAの宣言の最後にセミコロンを本当に中断したかどうかを疑問に思う必要はありません。 – JWWalker