我正在为UE4开发我的Google Protobuf to C ++转换器。以下结构来自protobuf的消息。让我们在Messages.h文件中说它们按以下方式列出:
struct B
{
int i;
A b;
};
struct A
{
float f;
long l;
};
struct C
{
A a;
B b;
};
N.B。我无法使用前向声明,也无法使用指针,它们应该是值。
正确的初始化顺序是:A, B, C
(这意味着如果按A, B, C
顺序定义这些结构,一切都很好)。我有所有类型和他们对其他类型的引用,还有其他类型:int,float,long在我的演示中。
我想按正确的顺序对它们进行排序。我怎么能这样做?如何判断它是不可能的(如果类型相互交叉引用)?