struct IHoge {
virtual void Func() = 0;
};

struct IFuga {
virtual IHoge GetHoge(void) = 0;
};

インターフェースを返すメンバ関数を持ったインターフェースを作りたいんですがうまくいきません
なにかいい解決法はないでしょうか