我想知道是否可以在结构体内实现一个通用引用。 代码如下:
在上述代码中,结构体Foo2中变量ref的类型直到运行时才能确定。上述代码无法正常工作,并显示:"LoadError("main.jl", 6, UndefVarError(:UNKNOWNTYPE))"。
struct Foo1
ia :: Int
end
struct Foo2{UNKNOWNTYPE}
ref :: UNKNOWNTYPE
ib :: Int
function Foo2{UNKNOWNTYPE}(ref::UNKNOWNTYPE,ib::Int)
o = new{UNKNOWNTYPE}(ref,ib)
return o
end
end
foo1 = Foo1();
foo2 = Foo2{Foo1}(foo1,1)
在上述代码中,结构体Foo2中变量ref的类型直到运行时才能确定。上述代码无法正常工作,并显示:"LoadError("main.jl", 6, UndefVarError(:UNKNOWNTYPE))"。
Foo2{Float64}(1,2)
的操作。 - pfitzseb