このコード、GCCだとコンパイル通るのですが、
VC++6.0だとコンパイルできないのです。
通したいのですがなにか技ないですか?

#include <iostream>
class A { public: int a1; char *p; int a2;};
class B {public: int b1; int b2;};
union C { A aa; B bb;};
C c = { aa:{ 1, "hoge", 2 } };
C d = { bb:{ 3, 4 } };
int main(){ std::cout<< c.bb.b2 << "\n"; return 0;}