[Quickfix-developers] RE: FIX42::QuoteRequest operator=()
Brought to you by:
orenmnero
From: Brendan B. B. <br...@ka...> - 2004-08-27 15:40:09
|
> Using VC++ 6.0, the following copy of a FIX42::QuoteRequest causes a > stack overflow as FIX42::Message::operator=() recursively calls > FIX42::Message::operator=() instead of calling up to > FIX::Message::operator=() e.g: ... > This is probably a VC++ 6.0 bug - I've also seen it when copying > FIX41::NewOrderSingle as well. This does appear to be a bug in VC++ 6.0 as the following will reproduce it: namespace A { class foo { public: typedef std::map <int, std::string> t_mapStr; t_mapStr m_mapStr; }; /* end class foo */ } /* end namespace A */ namespace B { class foo : public A::foo { public: int m_y; }; /* end class foo */ } /* end namespace B */ A::foo l_fooA_1; A::foo l_fooA_2; B::foo l_fooB_1; B::foo l_fooB_2; // ok l_fooA_1 = l_fooA_2; // stack overflow l_fooB_1 = l_fooB_2; Regards, Brendan |