Syslab中定义的结构体修改后报错
技术分享
发布于 2024-09-24 15:15:50
查看 8过去616天
一、问题现象
在Syslab中定义了一个结构体data,运行:

对结构体data进行修改为如下图,并重新运行,出现报错:invalid redefinition of type data

二、解决方法/步骤
SySlab中结构体在运行之后就已定义了该名称的结构体,如果在已经定义好的结构体上修改再运行,会导致结构体名称冲突的报错。
针对上述问题:
方法一:重启终端,再次运行,之前定义的结构体就不存在,不会再出现名称冲突的报错:

方法二:将结构体放在模块下:
1.定义模块Types并运行:
module Types
struct data
x
y
title
end
end
结果如下:

2.对模块内的结构体data进行修改,再次运行:
module Types
struct data
x::Array(Float32)
y::Array(Float32)
title::String
end
end
结果如下:

出现警告,模块被替代,即结构体已经被重新定义,不会出现报错。
所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境