我在 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 属性中找不到任何影响这一点的设置,有谁知道是否有办法实现这一点?
谢谢