मेरे पास एक वैश्विक डी मॉड्यूल है जिसमें कुछ सहायक फ़ंक्शन (अर्थात् लॉगिंग के लिए) हैं, जो मॉड्यूल-स्तर पर हैं और कक्षा में नहीं हैं। हालांकि, इन कार्यों को एक विनाशक से बुलाते समय, मुझे कोर.एक्सप्शन मिलता है .ऑटऑफमेमरी एरर और/या ऐप लटकता है और दुर्घटनाग्रस्त हो जाता है। क्या मुझसे यहां कुछ गलत हो रहा है?डी में विनाशक से मॉड्यूल-स्तरीय फ़ंक्शंस को कॉल करना (एक आउटऑफमेरी एरर फेंकना प्रतीत होता है)
एक छीन नीचे परीक्षण का मामला:
logger.d
module main.logger;
void log(const(char)[] msg) {
auto time = // GET TIME OF DAY SOMEHOW
std.stdio.writeln(std.conv.to!string(time) ~ " " ~ msg);
}
class.d
module main.class;
import main.logger;
class A {
public:
this() {}
~this() { log("Destructor"); }
}
हाँ आप हैं; आप त्रुटि को पुन: उत्पन्न करने के लिए न्यूनतम टेस्टकेस प्रदान किए बिना अस्पष्ट प्रश्न पोस्ट कर रहे हैं। कोई अपराध नहीं। – FeepingCreature
मैं अभी एक छोटा टेस्ट केस चाबुक कर सकता हूं। –