在capnproto模式中,是否有任何方法可以转发声明结构,以便您可以生成这样的树结构:
struct ExecuteProgram {
code @0 :Text;
}
struct SequenceProgram {
programs @0 :List(Program)
}
struct IfProgram {
condition @1 :Program;
trueBody @2 :Program;
falseBody @3 :Program;
}
struct Program {
union {
execute @0 :ExecuteProgram;
sequence @1 :SequenceProgram;
if @2 :IfProgram;
}
}
如果我试图编译它,编译器会给出非常有用的错误消息
Parse error
. 我想是因为我用了
Program
在申报之前。
有办法解决这个问题吗?