めちゃくちゃ環境依存(処理系依存)の問題だと思うので、こちらで質問です。
下記のように、CHogeHogeのクラス変数を初期化するのに、別のシングルトンクラス(CHoge)のメソッドの
戻り値を与えるコードを書いたところ、CHogeHogeのクラス変数を初期化するタイミングではまだCHogeが
生成されておらず、落ちます。コメント内のコードもうまくいきそうですがNGです
恐らくリンクオプションとか、pragmaで逃げられそうに思うのですが
対策方法を教えてください。処理系はVC6 SP5です

「CHogeHoge.cpp」
CHogeHoge* CHogeHoge::s_pInstance = new CHogeHoge(); // static
CHogeHoge* CHogeHoge::GetInstance()
{
return s_pInstance;
}
int CHogeHoge::GetValue()
{
return m_Value;
}

/* -- これもNG
CHogeHoge CHogeHoge::s_Instance; // static
CHogeHoge* CHogeHoge::GetInstance()
{
return &s_Instance;
}
*/

「CHoge.cpp」
const int CHoge::STATIC_VALUE = CHogeHoge::GetInstance()->GetValue();
なお、GetInstance内でnewすれば問題解決するとは思いますが、それ以外の方法でお願いします。