CapnProto中的前向声明

时间:2018-05-25 07:50:20

标签: capnproto

在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

有什么方法吗?

1 个答案:

答案 0 :(得分:0)

事实证明你不需要前方声明,我只是错过了一个分号。我怎么说Parse error是一个可怕的错误信息?