【问题标题】:can't invoke static methods in Matlab 7.1.0.246(R14)不能在 Matlab 7.1.0.246(R14) 中调用静态方法
【发布时间】:2016-05-21 01:30:59
【问题描述】:

这是一个简单的 .m 文件。保存到“temp.m”。

在 Matlab 7.12.0 (R2011a) 中,我可以调用 temp.t0() 或 temp.t1(),它会打印出预期的结果。但在 Matlab 7.1.0.246(R14) 中。它显示了这个错误:

temp.t0() ???函数、脚本或类 temp 无法使用 {} 或 .索引。

是不是因为matlab版本低,不支持调用静态方法?

下面是temp.m的源码

classdef temp
    methods (Static)
        function [] = t0()
            fprintf('function t0\n');
        end
        function [] = t1()
            fprintf('function t1\n');
        end
    end
end

【问题讨论】:

    标签: matlab static-methods


    【解决方案1】:

    MCOS,面向对象编程的 classdef 语法是 not introduced until R2008a (MATLAB 7.6),因此 MATLAB 7.1 当然不支持您尝试执行的操作,因此出现错误。 p>

    您拥有的旧版本确实支持@classname folders 用于类定义;但是,在 R2008a 中引入 MCOS 类之前,不支持静态方法。

    【讨论】:

    • 感谢您的回答!
    猜你喜欢
    • 2013-06-09
    • 2023-04-11
    • 2023-02-22
    • 2018-02-23
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-16
    相关资源
    最近更新 更多