考虑以下两个 FFI 结构:
class A < FFI::Struct
layout :data, :int
end
class B < FFI::Struct
layout :nested, A
end
要实例化它们:
a = A.new
b = B.new
现在,当我尝试这样分配a
时b.nested
:
b[:nested] = a
我收到以下错误:
ArgumentError: put not supported for FFI::StructByValue
如果嵌套结构是“按值嵌套”,那么 FFI 似乎不允许您使用 [] 语法进行分配,也就是说它不是指针。如果是这样,我该如何a
分配b.nested
?