Consider the code:
struct Foo { const char str[] = \"test\"; }; int main() { Foo foo; }
It fails to compile with both g++ and clan
If the compiler was allowed to support what you described, and the size of str was deduced to 5,
str
5
Foo foo = {{"This is not a test"}};
will lead to undefined behavior.