The 'matlab.mixin.Copyable' class does not support code generation.

7 views (last 30 days)
Recently,I`m working on transforming a matlab project code into c/c++ code. But now I have a problem like the title said "The 'matlab.mixin.Copyable' class does not support code generation.". this problem is becuase I writed a class inheritance the matlab.mixin.Copyable class. Who can help me to solve this problem? thank you!

Answers (1)

Michael
Michael on 5 Mar 2021
I got around this by creating a 'copy' method for my class. Here is a simple example.
classdef myobj < handle % used to be matlab.mixin.Copyable so I could copy
properties
prop1
prop2
prop3
prop4
end
methods
function obj = myobj(prop1, prop2)
if nargin>0
obj.prop1 = prop1;
obj.prop2 = prop2;
end
end
function obj_out = copy(obj)
%COPY creates an exact copy of the object as a separate object
obj_out = myobj(obj.prop1,obj.prop2) %Create new instance of this object
%Copy the other properties of the class that aren't generated on construction
obj_out.prop3 = obj.prop3;
obj_out.prop4 = obj.prop4;
end
end
end

Categories

Find more on Construct and Work with Object Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!