matlab 从类内部调用类方法:没有足够的输入参数

zaqlnxep  于 8个月前  发布在  Matlab
关注(0)|答案(1)|浏览(99)

让我们用一些嵌套的方法来定义下面的类:

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。

smtd7mpg

smtd7mpg1#

您已经将这些方法定义为Static,这意味着c.simple_func()不会调用simple_func(c),而只是调用MyClass.simple_func()。如果删除Static声明,它将按预期工作。

相关问题