Don't use zero-sized arrays It's not part of the standard and MSVC doesn't like it. It makes the code a lot less elegant than it used to be, but I think it should work now.