d - Associative array .remove[] calling core.stdc.stdio.remove in dmd 2.0 -
मेरे पास डी में निम्न कोड है
import std.stdio; कक्षा थिंग {// फ़ील्ड निजी स्ट्रिंग नाम; // प्रवेशक सार्वजनिक स्ट्रिंग का नाम () {वापसी का नाम; }} वर्ग स्थान: थिंग {// फ़ील्ड निजी प्लेस [स्ट्रिंग] संलग्न; // मॉडिफ़र सार्वजनिक शून्य संलग्न करें (प्लेस प्लेस) {संलग्न [place.name ()] = स्थान; } सार्वजनिक शून्य विच्छेदन (स्थान जगह) {संलग्न। हटायें [place.name ()]; } // त्रुटि रेखा}
जब भी मैं dmd2.0 के साथ संकलन करने की कोशिश करता हूं, मुझे निम्नलिखित त्रुटियां मिलती हैं
त्रुटि: फ़ंक्शन core.stdc.stdio निकालें (const (char *) फ़ाइलनाम में) तर्क प्रकारों (प्लेस [स्ट्रिंग]) का उपयोग करने योग्य नहीं है त्रुटि: परन्तु अभिव्यक्ति (इस। अटैचटेड) को टाइप करने के लिए प्लेस [स्ट्रिंग] को const (char *) में परिवर्तित नहीं किया जा सकता त्रुटि: निकालें (( __error) एक सरणी या सूचक प्रकार होना चाहिए, नहीं int
मौजूदा D2.0 दस्तावेज़ सलाह के लिए array.remove [key] का उपयोग करने के लिए मैं क्या करने की कोशिश कर रहा हूँ, लेकिन यह ऐसा लगता है कि कंपाइलर सोचता है कि मैं एक std.c (stdc?) फ़ंक्शन कॉल करने की कोशिश कर रहा हूं। ऐसा क्यों हो रहा है? क्या यह सिर्फ dmd2.0 में एक बग है?
उपयोग करने का प्रयास करें
Attached.remove (place.name ());
वर्ग कोष्ठक के बजाय कोष्ठकों का उपयोग ध्यान दें। स्क्वायर ब्रैकेट्स को केवल अनुक्रमण के लिए उपयोग किया जाता है।
Comments
Post a Comment