我有一個班級,我正在實施的範圍。我想以phobos庫的方式實現這些功能,即在主類之外。非會員範圍功能
void popBack(T)(ref T[] a) if (!is(Unqual!T == char) && !is(Unqual!T == wchar))
{
assert(a.length);
a = a[0 .. $ - 1];
}
這裏是我的版本:
void popFront(T)(ref PersistentList!(T) a)
{
a = a.next();
}
當我嘗試編譯這段代碼有forech,我得到:
Error 1 Error: no property 'popFront' for type 'stmd.PersistentList!(int).PersistentList' main.d
我會會員代碼移動到主類,但由於我正在修改輸入「ref」值,我不能使用popFront()我真的需要popFront(ref a)。
我在做什麼錯?
感謝您的評論。我的類是不可變的,所以我實際上在類中本身不能有一個popFront成員。但我確實創建了一個「PersistentListRange」子類,所以我可以做foreach(i; lst.range),並且工作得很好。 – 2010-10-06 12:58:05