コンストラクタから出る前に、問題の関数がthisの先を見ないなら
問題は無い。例えば
class Bar;
class Foo {
    Bar *m_ptr;
public:
    explicit Foo(Bar *ptr) : m_ptr(ptr) {}
};

class Bar {
    Foo m_foo;
public:
    Bar() : m_foo(this) {},
};
はOKだけど、Foo(Bar *)がptr->xxを含んでいたらアウト。
ただし、Barの基底クラスの非仮想関数を呼ぶ場合は、少なくとも普通の
処理系なら正常に動くはず。