Anthony
MModular
•Created by Anthony on 6/9/2024 in #questions
UnsafePointer[T].initialize_pointee_copy error
Hi,
I try to store multiple values in memory initialize by an UnsafePointer[T], like the official documentation states but I've got the error "invalid call to 'initialize_pointee_copy': argument #0 cannot be converted from 'UnsafePointer[T, 0]' to 'UnsafePointer[T, 0]'"
The code is:
struct Array[T: AnyTrivialRegType]:
var data: UnsafePointer[T]
var size: Int
fn init(inout self, *elements: T):
self.size = len(elements)
self.data = UnsafePointer[T].alloc(self.size)
for offset in range(self.size):
initialize_pointee_copy(self.data + offset, elements[offset])
fn del(owned self):
self.data.free()
fn getitem(self, i: Int) raises -> T:
if i < self.size:
return self.data[i]
else:
raise Error("Out of bounds")
I am using the latest version of mojo. What am I doing wrong?
Thank you for any help,
Anthony
1 replies