使用引用生成 IBM Rhapsody 访问器

Posted

技术标签:

【中文标题】使用引用生成 IBM Rhapsody 访问器【英文标题】:IBM Rhapsody accessor generation using references 【发布时间】: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 属性中找不到任何影响这一点的设置,有人知道是否有办法实现这一点吗?

谢谢

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于使用引用生成 IBM Rhapsody 访问器的主要内容,如果未能解决你的问题,请参考以下文章

IBM Rhapsody 看不到许可证服务器

Rhapsody—MBSE 开发工具

Core Data 无法生成原始访问器

访问 IBM Watson nl-classifier 中的置信度参数

生成器和迭代器

迭代器 生成器