मैं सी ++ कक्षा को लपेटने के लिए boost :: पायथन का उपयोग करता हूं। यह वर्ग कॉपी कन्स्ट्रक्टर की अनुमति नहीं देता है, लेकिन पायथन मॉड्यूल हमेशा एक बनाना चाहता है।boost :: पायथन: संकलन विफल रहता है क्योंकि कॉपी कन्स्ट्रक्टर निजी है
सी ++ वर्ग की तरह इस (सरलीकृत) लग रहा है
class Foo {
public:
Foo(const char *name); // constructor
private:
ByteArray m_bytearray;
};
bytearray वर्ग बढ़ावा :: noncopyable से विरासत में मिला है, इसलिए फू प्रतिलिपि कंस्ट्रक्टर्स जरूरत नहीं है।
BOOST_PYTHON_MODULE(Foo)
{
class_<Foo>("Foo", init<const char *>())
;
}
जब बढ़ावा :: अजगर मॉड्यूल संकलन, मैं त्रुटियों कि फू के लिए एक प्रतिलिपि निर्माता क्योंकि bytearray बढ़ावा :: noncopyable से विरासत नहीं बनाया जा सकता है:
यहाँ पायथन मॉड्यूल ठूंठ है।
मैं अपने पायथन मॉड्यूल में कॉपी कन्स्ट्रक्टर को कैसे अक्षम कर सकता हूं?
धन्यवाद क्रिस्टोफ