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

Popular posts from this blog

HTML/CSS - Automatically set height width from background image? -

php - Mysql Show Process - Sleep Commands and what to do -

c - What is the address of buf (the local variable in the main function)? -