2004年12月29日
C++.NET でクラス宣言するときの注意点
C++ で他クラスを含めるには、そのクラスの宣言をインクルードする必要があるけど、他クラスへのポインタだけでいい場合は、次のようにすればよい。
class A; class B { private: A* objectA; }
C++.NET でマネージドクラスをポインタとして含むには次のようにする。
public __gc class A; public __gc class B { A* objectA; }
こうしないと、マネージドクラスであることが伝わりません。名前空間の宣言がある場合は、ちゃんと同じ名前空間の中で宣言してやらないとダメ。
namespace sample { public __gc class A; public __gc class B { A* objectA; } }