使用引用生成 IBM Rhapsody 访问器
IBM Rhapsody accessor generation using references
我在 IBM Rhapsody 8.1.5 中创建了一个 C++ 项目并使用内置的自动编码器功能生成代码。
我已使用组合关联在整个模型中创建 类 的实例,并希望使用 GetGenerate 功能以引用的形式自动为这些实例生成访问器。
为了实现这一点,我全局选择了 CG::Relation::GetGenerate 并将 CPP_CG::Relation::ScalarContainment 设置为参考。
这会导致如下代码...
MyClass1 itsMyClass1;
MyClass1& MyClass2::getItsMyClass1() const {
return (MyClass1&) &itsMyClass1;
}
在编译时这会产生以下错误:类型 'const MyClass1*' 的右值表达式无效转换为类型 'MyClass1&'
这个生成的访问器函数应该没有额外的“&”,如下所示:
MyClass1& MyClass2::getItsMyClass1() const {
return (MyClass1&) itsMyClass1;
}
我在 Rhapsody 属性中找不到影响此设置的任何设置,有人知道是否有办法实现此目的吗?
谢谢
我找到了一个 属性 符合需要的:
寻找 OMContainers::EmbeddedScalar::Get 并删除前导 &
我在 IBM Rhapsody 8.1.5 中创建了一个 C++ 项目并使用内置的自动编码器功能生成代码。
我已使用组合关联在整个模型中创建 类 的实例,并希望使用 GetGenerate 功能以引用的形式自动为这些实例生成访问器。
为了实现这一点,我全局选择了 CG::Relation::GetGenerate 并将 CPP_CG::Relation::ScalarContainment 设置为参考。
这会导致如下代码...
MyClass1 itsMyClass1;
MyClass1& MyClass2::getItsMyClass1() const {
return (MyClass1&) &itsMyClass1;
}
在编译时这会产生以下错误:类型 'const MyClass1*' 的右值表达式无效转换为类型 'MyClass1&'
这个生成的访问器函数应该没有额外的“&”,如下所示:
MyClass1& MyClass2::getItsMyClass1() const {
return (MyClass1&) itsMyClass1;
}
我在 Rhapsody 属性中找不到影响此设置的任何设置,有人知道是否有办法实现此目的吗?
谢谢
我找到了一个 属性 符合需要的:
寻找 OMContainers::EmbeddedScalar::Get 并删除前导 &