为什么我要将matlab枚举转换为int32?

今天我进入了这段代码片段:

classdef (Enumeration,Sealed) ClassBlabla < int8
    enumeration
        ALPHA(0)
        BETA(1)
        GAMMA(2)
    end

    methods (static)
        function ret = doSomething()
            ret = containers.Map(.......)
            for i = int32(ClassBlabla.ALPHA):int32(ClassBlabla.GAMMA)
                ret(i) = somethingelse(blablabla(i))
            end
         end
    end
end

那个int32(…)是什么?演员?为什么我要转换为int32?不是ALPHA已经0而GAMMA已经是2 ??

最佳答案 这是为了扩大从int8到int32的ALPHA和GAMMA值.很可能,那是因为blablabla()函数需要int32输入,或者ret值应该具有int32键. ALPHA和GAMMA已经是0和2,但是它们是int8而不是int32,而blablabla()或doSomething()的客户端可能无法很好地使用int8值. (你可以告诉ALPHA和GAMMA是int8,因为ClasBlabla< int8在顶部.)

点赞