<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p>This is NOT a VLA. This is flexible array. While VLA are indeed optional in C11, flexible arrays are mandatory.</p>
</blockquote>
<p>But what about C++ ?</p>
<p>I’m not sure flexible arrays are allowed in C++, even in C++11.</p>
</blockquote>
<p>You are correct, ISO C++ has no notation of flexible arrays; mostly because the standard prohibits data-members of array-type without a constant-expression size.</p>