2016-11-11 10 views
0

Я создал проект C++ в IBM Rhapsody 8.1.5 и сгенерировал код, используя встроенную функцию автокодера.Генерация аксессуаров IBM Rhapsody с использованием ссылок

Я использовал ассоциации композиций для создания экземпляров классов по всей модели и хотел бы использовать функцию GetGenerate для автоматического создания аксессуаров для них в виде ссылок.

Для этого я выбрал глобально CG :: Relation :: GetGenerate и установить CPP_CG :: Relation :: ScalarContainment to Reference.

Это приводит к коду, как следующее ...

MyClass1 itsMyClass1; 

MyClass1& MyClass2::getItsMyClass1() const { 
    return (MyClass1&) &itsMyClass1; 
} 

Во время компиляции это производит следующее сообщение об ошибке: недопустимое приведение выражения RValue типа «сопзЬ MyClass1 *» ввести «MyClass1 &»

Это генерируется сбруя функция должна быть без дополнительных «&», как это:

MyClass1& MyClass2::getItsMyClass1() const { 
    return (MyClass1&) itsMyClass1; 
} 

я не могу найти какие-либо настройки, чтобы повлиять на это в свойствах Rhapsody, знает ли кто-нибудь, есть ли способ достичь этого?

Благодаря

ответ

1

Я нашел свойство, люксы необходимости:

искать OMContainers :: EmbeddedScalar :: Получить и удалить ведущий & там