Converting Matlab code with a function handle within a structure to C/C++

Hello,
I'm trying to use the MATLAB Coder app to convert a series of functions to C/C++ functions.
I create a structure, and some elements of that structure are functions, like in the image below (the image represents a silly example with no meaning).
However, the converter fails because of the function handle:
"Function output 'model' cannot be a structure containing a function handle".
Anyone knows if I'm doing something wrong or there's a workaround it? I do need functions within a structure.
Machine: Mac,
Version: Matlab 2017b
Any help is appreciated.
Thanks
Matlab_Cpp_funHandle.png

 채택된 답변

Ryan Livingston
Ryan Livingston 2019년 5월 11일

1 개 추천

Function handles, and values containing them, are not supported as inputs and outputs from entry-point functions. As a workaround could move testFun to a separate file on the path, return the name, and use str2func when back in MATLAB.
If you describe what you're trying to achieve with this struct, there may be a better workaround.

댓글 수: 1

Thank you Ryan for the fast answer.
What i'm trying to do is to build a structure (model) with the several function handles I need in the main code, and pass "model" to all functions that need the function handles.
I made it this way to avoid having many many files, one for each function handle.
but I think your workaround may work.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 MATLAB Coder에 대해 자세히 알아보기

제품

질문:

2019년 5월 10일

댓글:

2019년 5월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by