【问题标题】:IBM Rhapsody accessor generation using references使用引用生成 IBM Rhapsody 访问器
【发布时间】:2016-11-11 09:55:25
【问题描述】:

我在 IBM Rhapsody 8.1.5 中创建了一个 C++ 项目,并使用内置的自动编码器功能生成代码。

我使用组合关联在整个模型中创建类的实例,并希望使用 GetGenerate 功能以引用的形式自动为这些类生成访问器。

为了实现这一点,我全局选择了 CG::Relation::GetGenerate 并将 CPP_CG::Relation::ScalarContainment 设置为 Reference。

这会产生如下代码...

MyClass1 itsMyClass1;

MyClass1& MyClass2::getItsMyClass1() const {
    return (MyClass1&) &itsMyClass1;
}

在编译时,这会产生以下错误:将 'const MyClass1*' 类型的右值表达式无效转换为 'MyClass1&' 类型

这个生成的访问器函数应该没有额外的'&',像这样:

MyClass1& MyClass2::getItsMyClass1() const {
    return (MyClass1&) itsMyClass1;
}

我在 Rhapsody 属性中找不到任何影响这一点的设置,有人知道是否有办法实现这一点吗?

谢谢

【问题讨论】:

    标签: c++ rhapsody


    【解决方案1】:

    我找到了适合需要的属性:

    寻找 OMContainers::EmbeddedScalar::Get 并删除那里的领先 &

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      • 2020-10-31
      • 2016-08-28
      • 1970-01-01
      • 2021-07-29
      相关资源
      最近更新 更多