Using @:arrayAccess, but still "Array access not allowed"

ساخت وبلاگ

Vote count: 0

I have written the following (very simple) ring buffer class, which should allow array access via the @:arrayAccess macro:

class RingBuffer<T>
{ private var _elements : Array<T> = null; public function new(p_numElements : Int, p_defaultValue : T) { _elements = new Array<T>(); for (i in 0 ... p_numElements) { _elements.push(p_defaultValue); } } public function add(p_value : T) : Void { // Remove the first element _elements.splice(0, 1); _elements.push(p_value); } @:arrayAccess public inline function get(p_index : Int) { retu _elements[p_index]; } @:arrayAccess public inline function set(p_index : Int, p_value : T) { _elements[p_index] = p_value; retu p_value; }
}

But when I try to use array access on an instance of the class, I get an error telling me "Array access is not allowed on...".

Did I do something wrong in using the macro? I was basically following the example in the manual.

asked 3 mins ago

- - , .

back soft...
ما را در سایت back soft دنبال می کنید

برچسب : نویسنده : استخدام کار backsoft بازدید : 235 تاريخ : پنجشنبه 29 بهمن 1394 ساعت: 20:39