मेरे पास एक कक्षा है जिसके लिए मैं श्रेणियां लागू कर रहा हूं। मैं फ़ोबोस लाइब्रेरी के तरीके को कार्यान्वित करना चाहता हूं, यानी मुख्य वर्ग के बाहर।गैर सदस्य श्रेणी फ़ंक्शन
void popFront(T)(ref PersistentList!(T) a)
{
a = a.next();
}
जब मैं एक forech के साथ इस कोड को संकलित करने का प्रयास करें, मैं:
void popBack(T)(ref T[] a) if (!is(Unqual!T == char) && !is(Unqual!T == wchar))
{
assert(a.length);
a = a[0 .. $ - 1];
}
यहाँ मेरी संस्करण है
Error 1 Error: no property 'popFront' for type 'stmd.PersistentList!(int).PersistentList' main.d
मैं मुख्य वर्ग में सदस्य कोड चला जाता, लेकिन चूंकि मैं इनपुट "रेफरी" मान को संशोधित कर रहा हूं, इसलिए मैं पॉपफ्रंट() का उपयोग नहीं कर सकता हूं, मुझे वास्तव में पॉपफ्रंट (रेफरी ए) की आवश्यकता है।
मैं क्या गलत कर रहा हूं?
टिप्पणी के लिए धन्यवाद। मेरी कक्षाएं अपरिवर्तनीय हैं, इसलिए मेरे पास वास्तव में कक्षा में पॉपफ्रंट सदस्य नहीं हो सकता है। लेकिन मैंने एक "PersistentListRange" उपclass बनाया था, इसलिए मैं foreach (i; lst.range) कर सकता हूं और यह ठीक काम करता है। –