すいません、途中で送ってしまいました。
あらためて・・・。

class Hoge;
class Test
{
 Hoge* p;
};
class Hoge
{
 class Child{};
};

ということができると思うのですが、Hogeの中のChildクラスへのポインタをTestに含める場合はどうしたら良いでしょうか?
イメージとしては下記のような感じなのですが、コンパイルエラーがでます。
環境はVC2008です。

class Hoge::Child;
class Test
{
 Hoge::Chiled *p;
};
class Hoge
{
public:
 class Child{}
};

classHogeの中身を先に宣言すればいいじゃん。というのは無しでお願いします。循環参照とかをするのが目的なもので・・。