मैं एक विरासत कोड है:अधिक भार के तरीके सी में भाग जबकि ++
struct Iface1
{
virtual ~Iface1() {}
virtual void foo(const int arg1) const = 0;
};
struct Iface2
{
virtual ~Iface2() {}
virtual void foo(const int arg1, const int arg2) const = 0;
};
/// Composite interface
struct Iface12 : Iface1, Iface2
{
};
मैं समग्र इंटरफेस के लिए एक डेकोरेटर बनाना होगा। निम्नलिखित कोड को भी संकलित नहीं किया गया है क्योंकि यह G ++ और MSVC के लिए "संदिग्ध" है जो कि किस प्रकार का foo() कहा जाता है। क्या कोई मुझे बता सकता है कि नीचे दिए गए कोड को कैसे संकलित और काम करना है? (दुर्भाग्य से मेरे पास रिफैक्टरिंग के लिए कोई समय नहीं है)।
और मुझे यह भी समझ में नहीं आता कि संकलक किस कार्य को कॉल नहीं कर सकता है क्योंकि सभी फ़ंक्शन हस्ताक्षर स्पष्ट हैं। धन्यवाद।
struct IfaceDecorator : Iface12
{
IfaceDecorator(Iface12& iface) : impl(iface) {}
virtual void foo(const int arg1) const
{
impl.foo(arg1);
}
virtual void foo(const int arg1, const int arg2) const
{
impl.foo(arg1, arg2);
}
private:
Iface12& impl;
};
आपको जो सटीक त्रुटि मिल रही है उसे पोस्ट करना चाहिए। –