作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有以下目录结构:
Rootdir
└── +PkgClsName
└── @PkgClsName
└── PkgClsName.m
PkgClsName.m
包含以下内容:
classdef PkgClsName < handle
methods
% Constructor
function obj = PkgClsName()
end
% Deep-copy handle object
function new_obj = copy(obj)
new_obj = PkgClsName.PkgClsName();
end
end
end
然后,在 R2016a 中,会发生以下情况:
>> T = PkgClsName.PkgClsName;
>> T.copy()
One or more output arguments not assigned during call to "_mcos_superclass_implicit_construct".
Error in PkgClsName.PkgClsName
Error in PkgClsName.PkgClsName/copy (line 11)
new_obj = PkgClsName.PkgClsName();
这在 R2010a、R2014a 和 R2017a 中不会发生,指向 R2016a 中的(又一个)错误...
问题是因为包名和类名相同;改变命名方案使它们不同,解决了这个问题。但是,由于必须在所有使用该类的函数/类中显式使用包名和类名,这些名称现在至少被硬编码在 600 个文件中。那,我对其他几个类(class)也有类似的结构……我宁愿保持原样。
我希望为此找到一个补丁,但找不到;我忽略了吗?还有其他人遇到过这个吗?有人知道一个简单的修复方法吗?
最佳答案
已报告为 bug report number 1314646 ,出现在 R2015b 和 R2016a 中,并在 R2016b 中修复。
恐怕没有解决方法,除了不要对包和类使用相同的名称。
关于matlab - R2016a : error constructing class when package & class name are equal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48078248/
我是一名优秀的程序员,十分优秀!