让我们用一些嵌套的方法来定义下面的类:
classdef MyClass
methods(Static)
function a = simple_func(obj)
a = obj.simple_func2(1);
end
function b = simple_func2(obj,arg1)
b = arg1+1;
end
end
end
并调用一个类方法,如下所示:
c = MyClass
a = c.simple_func()
我得到以下错误:
Not enough input arguments.
Error in MyClass.simple_func (line 4)
a = obj.simple_func2(1);
Error in main (line 2)
a = c.simple_func();
我的类定义有什么问题?我读了太多的Matlab文档,现在都迷路了。我用的是MATLAB 2023b。
1条答案
按热度按时间smtd7mpg1#
您已经将这些方法定义为
Static
,这意味着c.simple_func()
不会调用simple_func(c)
,而只是调用MyClass.simple_func()
。如果删除Static
声明,它将按预期工作。