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

7 views (last 30 days)
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

Accepted Answer

Ryan Livingston
Ryan Livingston on 11 May 2019
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 Comment
mcor
mcor on 11 May 2019
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.

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB Coder in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!