使用引用生成 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 访问器的主要内容,如果未能解决你的问题,请参考以下文章