'Cuz you must have an already-existing G variable...
>> g=pi;
>> g(1,:)=A.B.C
Subscripted assignment dimension mismatch.
>>
>> clear g % now ensure no previous variable exists first...
>> g(1,:)=A.B.C
g =
1 2 3
>> g(2,:)=A.B.D
g =
1 2 3
3 4 5
>>
works just fine if don't have conflicting definition already in workspace. But,
>> g=pi;
>> g=[A.B.C;A.B.D]
g =
1 2 3
3 4 5
>>
is simpler and overwrites the previous g silently even though existed.
However, in general, this looks like a bad road to start down; soon you'll be having issues with using sequential-named fields.