MATLAB Answers

0

Pass by reference C++ Legacy Code Tool

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 &'"

  댓글 수: 0

로그인 to comment.

답변 수: 1

 채택된 답변

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

로그인 to comment.



Translated by