问题删除(对象)

17次观看(过去30天)
Aurelien
Aurelien 2022年10月21日13:43
编辑: Aurelien2022年10月24日9:35
你好,
我有一个简单的Matlab类。它有两个属性,一个字符串和一个整数。构造函数如下所示:
函数[obj, error] = constructor_fct (arg1, arg2)
obj。property_str = __arg1;
obj。property_int =最长;
错误= class.someOtherStaticMethod (obj。property_str obj.property_int);
如果(错误~ = 0)
有个问题,中止。这里没有相关
结束
结束
我的问题是析构函数。我希望是这样的:
函数destructor_fct (obj)
删除(obj)
结束
然而,当我打电话的时候 obj.destructor_fct () 在我的代码中,我得到以下错误:
错误使用删除
名称必须是文本标量。
这对我来说似乎很困惑,因为我不理解一个用于删除对象的方法如何期望文本标量。而且,据我所知,根据我的测试,在构造函数中调用的静态方法根本不与对象交互。我也可以直接通过 __arg1 而且 最长 但问题还是会发生。
知道我哪里做错了吗?是 删除 这不是从内存中删除对象的正确方法?我应该用什么来代替呢?

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2022年10月21日13:59
对象的Delete()适用于句柄对象,而不适用于值对象。不能从类内部删除值对象。
1评论
Aurelien
Aurelien 2022年10月24日9:35
编辑:Aurelien 2022年10月24日9:35
事实上,我不知道有不同种类的课程。它在继承句柄时正常工作。谢谢!

登录发表评论。

更多的答案(0)

标签

2022世界杯八强谁会赢?


释放

R2022a

世界杯预选赛小组名单社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!世界杯预选赛小组名单

开始狩猎!

Baidu
map