Нет, вы не можете обойти способ, которым компилятор должен упорядочивать элементы.
Но вы можете основать решение на
template<typename A> struct B
{
int c;
A a;
};
И вы можете создать экземпляр с помощью say
B<A> foo;
Даже в этом случае может быть заполнение между c
и a
.