Я создал проект C ++ в IBM Rhapsody 8.1.5 и сгенерировал код, используя встроенную функцию автоматического кодирования.
Я использовал композиционные ассоциации для создания экземпляров классов по всей модели и хотел бы использовать функцию GetGenerate для автоматического создания средств доступа к ним в форме ссылок.
Для достижения этого я глобально выбрал CG :: Relation :: GetGenerate и установил для CPP_CG :: Relation :: ScalarContainment значение Reference.
Это приводит к коду, подобному следующему …
MyClass1 itsMyClass1;
MyClass1& MyClass2::getItsMyClass1() const {
return (MyClass1&) &itsMyClass1;
}
Во время компиляции это приводит к следующей ошибке: неверное приведение выражения rvalue типа ‘const MyClass1 *’ к типу ‘MyClass1&’
Эта сгенерированная функция доступа должна быть без&’ как это:
MyClass1& MyClass2::getItsMyClass1() const {
return (MyClass1&) itsMyClass1;
}
Я не могу найти какие-либо настройки, чтобы повлиять на это в свойствах Rhapsody, кто-нибудь знает, есть ли способ добиться этого?
Спасибо
Я нашел недвижимость, которая удовлетворяет потребности:
Ищу OMContainers :: EmbeddedScalar :: Get и удалить ведущий & там
Других решений пока нет …