6

我用djinni定义了一个 C++ 接口:

member = interface +c {
    get_id(): string;
    get_name(): string;
}

我继承的实现使用 const getter,即

class MyMemeber: public Member {
  private:
    string id;
    string name;
  public:
    string get_id() const override { return id; }
    string get_name() const override { return name; }
}

const由于属性,这显然无法编译。我也可以教djinni使用 const getter 生成基本接口吗?

4

1 回答 1

7

尽管从一开始 djinni 就生成了 const 方法(src/source/CppGenerator.scala 的第 295 行),但它没有任何记录。只需在 idl 文件中的方法签名前添加 const 即可:

member = interface +c {
    const get_id(): string;
    const get_name(): string;
}

我认为为这个特性(和一些文档)拉取请求测试是个好主意,目前只有 const 字段被测试

于 2016-04-18T17:36:15.293 回答