I am trying to make a function block with the Legacy Code Tool to call a C++ function. I have a structure for the input and the output and I was wondering if it's possible to pass by reference a structured output using C++.
I try to declare and call it: void function(Input i, Output &o) function(Input i, Output o[1])
I receive the error:
"cannot convert parameter 2 from 'Output *' to 'Output &'"

 採用された回答

Kaustubha Govind
Kaustubha Govind 2013 年 9 月 3 日

0 投票

I don't think this is currently possible because the Legacy Code Tool generates C S-functions (not C++ S-functions) only, and references are a C++ concept, as far as I know. You may want to introduce another layer to convert the pointer to a reference, or manually modify the S-function generated by Legacy Code Tool.

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Simulink についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by