C++ : member function pointers - Error C3867 -
मेरे पास निम्न श्रेणी है:
वर्ग conditionStack: public stack {public: bool (int); बूल अजीब (इंट); बॉल्स पॉजिटिव (इंट); शून्य पुश (bool (*) (int), int); }; पुश समारोह:
शून्य conditionStack :: पुश (bool (* p) (int), int a) {if (p (a)) स्टैक :: धक्का (क); } मैं निम्नलिखित तरह से main.cpp में फ़ंक्शन कॉल करता हूं
conditionStack भी; यहां तक कि Push (यहां तक कि, यहां तक कि, मान); लेकिन इसके परिणामस्वरूप निम्न त्रुटि है
त्रुटि C3867: 'conditionStack :: even': फ़ंक्शन कॉल अनुपलब्ध तर्क सूची; मैंने इसे Even.push (& conditionstack :: even, value) के रूप में कॉल करने की कोशिश की; & amp; / कोड> लेकिन यह काम नहीं करता है: (क्या आप मेरी सहायता कर सकते हैं?
वस्तु आवृत्ति के बारे में जानकारी को प्रतिनिधि कहा जाता है और सी + + में कोई मानक सुविधा नहीं थी।
चूंकि सी ++ 11 में std :: function है।
आपको इसकी एक नज़र रखना चाहिए:
उदाहरणों में से एक से पता चलता है कि आप क्या चाहते हैं:
// किसी सदस्य फ़ंक्शन पर कॉल करें: std :: function & lt; void (const Foo & amp;, int) & gt; f_add_display = & amp; Foo :: print_add; कॉन्स्ट फु फू (31415 9); f_add_display (foo, 1);
Comments
Post a Comment