https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63526
--- Comment #2 from Dávid Éles <eles.david.88 at gmail dot com> --- (In reply to Jonathan Wakely from comment #1) > Why do you think the member should be zero-initialized? Your constructor > fails to initialize it. I uses the default mechanism to initialization of members. As far as I know the C++ standard says (8.5/5): To default-initialize an object of type T means: * If T is a non-POD class type (clause 9), the default constructor for T is called (and the initialization is ill-formed if T has no accessible default constructor). * If T is an array type, each element is default-initialized. * Otherwise, the object is zero-initialized. In case of c++ it should be zero initialized if it is the member of a class/struct. As far as I know I have to force to not doing zero initialization something like that Foo* f = new Foo;