Followers 0

# Assign object handle to array element

## 2 posts in this topic

I am a bit confused about how to use object handle. Here is the code example I was trying to compile with the add-on array:

class Obj {
int x;
};

void main() {
array<Obj@> a(3);
Obj o;
o.x = 10;
a[0] = @o;
}

The compile error is "Can't implicitly convert from 'Obj@const&' to 'const Obj&'." for the assign line.

What is the correct way of doing that?

0

##### Share on other sites

The @ symbol goes on the left hand expression to signal a handle assignment. The right hand expression can also be pre-fixed with @, but that is optional.

 @a[0] = o;

Without the @ symbol the assignment will be done by value, i.e. calling the Obj's opAssign operator.

0

##### Share on other sites

I see, thank you very much!

0

## Create an account

Register a new account