c++ - Supply a member function of base class -
इस कोड पर विचार करें:
वर्ग तर्क {}; क्लास इनहेरिटेड लॉजिक: सार्वजनिक लॉजिक {शून्य से कुछ महीने (); }; शून्य सेटहैंडलर (शून्य (तर्क :: * एच) (शून्य)); setHandler (InheritedLogic :: someMember); यह संकलन नहीं करता है, क्योंकि:
त्रुटि 16 त्रुटि C2664: [..] पैरामीटर 2 से 'शून्य' (__thiscall InheritedLogic :: (शून्य) 'शून्य' (__thiscall तर्क :: *) (शून्य) '[..]
मैं कह सकता हूँ InheritedLogic :: someMember प्रकार है तर्क :: * () , लेकिन apprently नहीं
मैं यह काम कैसे कर सकता हूं? मैं एक अन्य वर्ग को तर्कशास्त्र वर्ग के किसी सदस्य को आपूर्ति करने के लिए एक मार्ग की तलाश कर रहा हूं जिसे किसी भी संभव वारिस का कोई ज्ञान नहीं है, जैसे कि मैं तर्क संभाल में लचीला हो सकता हूं जो मैं संलग्न कर सकता हूं।
का प्रयोग std / boost :: function के साथ std / boost :: bind ।
शून्य सेटहैंडलर (कॉन्स्ट स्ट्रोड :: फ़ंक्शन & lt; void () & gt;); SetHandler (std :: बाँध (और इनहेरिटेड लॉजिक :: कुछ मेम्बर, और ऑब्जेक्ट));
Comments
Post a Comment