On Tue, May 14, 2013 at 3:49 AM, <goodmenzy@xxxxxxxxx> wrote: > If this function initArr() is moved to the same cpp file of main(), > all optimization level get the same result. That's the great thing about undefined behaviour, you never know what you'll get. It's really not something anyone should be relying on though.... there's a well defined, valid way of declaring a flexible-length struct member.