Hmm,
That means that tglhe following code will print nonsense.
struct foo
{
foo()=delete;
foo(int _a) : a(_a) { printf("foo%d\n",a);}
};
Here, `foo` has no member named `a`, so this won't compile.
You can use
https://godbolt.org/ to test out your C++ code and see what it prints. I think you'll find that the behavior is pretty much sensible and exactly what you'd expect in context. (There
are some corner cases around what happens with the construction of multiply inherited virtual bases, but that's a super corner case. See
https://quuxplusone.github.io/blog/2019/09/30/what-is-the-vtt/ for the gory details.)
–Arthur