एक उदाहरण वर्ग को देखते हुए: "शब्द 2 तर्क लेने वाले फ़ंक्शन का मूल्यांकन नहीं करता है"। मैं क्या गलत कर रहा हूं?एक वर्ग के भीतर एक सदस्य समारोह सूचक का उपयोग करना
उत्तर
वाक्य रचना आप की जरूरत लगता है कि:
((object).*(ptrToMember))
तो अपने कॉल होगा:
((*this).*(func))(foo, bar);
मेरा मानना है कि एक वैकल्पिक वाक्य रचना होगा:
(this->*func)(foo, bar);
आप की जरूरत है निम्नलिखित एक सूचक के माध्यम से सदस्य कार्यों को कॉल करने के लिए फंकी वाक्यविन्यास:
(this->*func)(foo, bar);
देखभाल करने के लिए आपको दो चीजें हैं जिनकी आपको आवश्यकता है।
private:
typedef double (Fred::*fptr)(int x, int y);
fptr func;
अगला है एक सूचक का उपयोग कर समारोह फोन करने के लिए वाक्य रचना:
(this->*func)(foo,bar)
यहाँ संशोधित नमूना कोड है कि संकलन और चलेंगे है: सबसे पहले समारोह सूचक प्रकार की घोषणा है
#include <iostream>
class Fred
{
public:
Fred()
{
func = &Fred::fa;
}
void run()
{
int foo = 10, bar = 20;
std::cout << (this->*func)(foo,bar) << '\n';
}
double fa(int x, int y)
{
return (double)(x + y);
}
double fb(int x, int y)
{
}
private:
typedef double (Fred::*fptr)(int x, int y);
fptr func;
};
int
main()
{
Fred f;
f.run();
return 0;
}
गैर स्थिर वर्ग सदस्य कार्यों ने इस सूचक को तर्क के रूप में छुपाया है।
मुझे लगता है, वाक्यविन्यास (यह -> * func) (foo, bar) संकलक को यह समझने का तरीका है कि इसे फ़ंक्शन में जोड़ने की आवश्यकता है।
दो तर्कों वाला एक सदस्य फ़ंक्शन वास्तव में तीन तर्क फ़ंक्शन है। 'यह' एक निहित तर्क है इसलिए आपको जो त्रुटि मिल रही है वह 'यह' तर्क खोने के बारे में है।
- 1. सी ++ समारोह सूचक (वर्ग के सदस्य) गैर स्थिर सदस्य समारोह
- 2. सदस्य समारोह सूचक कौन सा सदस्य समारोह सूचक के एक ही प्रकार
- 3. अतिभारित सदस्य समारोह सूचक
- 4. एक सी ++ सदस्य समारोह सूचक कॉलिंग: इस-सूचक भ्रष्ट
- 5. एक __stdcall समारोह सूचक
- 6. सी में एक समारोह के भीतर समारोह को परिभाषित करना
- 7. pythonic: समारोह आत्म .__ एक वर्ग
- 8. सदस्य समारोह में सूचक के लिए टेम्पलेट तर्क कटौती?
- 9. टेम्पलेट वर्ग के सदस्य समारोह केवल विशेषज्ञता
- 10. एक विधि के समारोह के भीतर से एक प्रोटोटाइप के माता-पिता इस का उपयोग कैसे
- 11. केवल एक वर्ग के सदस्य
- 12. 'इस' सूचक के साथ एक वर्ग का आकार
- 13. एक गैरस्टिक सदस्य समारोह क्या है?
- 14. वर्ग दोस्त समारोह एक namespace
- 15. सी ++ - "सदस्य समारोह घोषित नहीं" व्युत्पन्न वर्ग
- 16. यदि प्रकार एक टेम्पलेट समारोह में एक सूचक है
- 17. सदस्य रूपांतरण के लिए सूचक
- 18. सी ++ वर्ग के सदस्य struct को परिभाषित करने और एक सदस्य समारोह में इसे वापस
- 19. एक विधि सी # में एक वर्ग के एक सदस्य चर
- 20. अंकन और सूचक-से-सदस्य
- 21. इसके अमूर्त सुपरक्लास के भीतर एक उप-वर्ग के सामान्य प्रकार का उपयोग करना?
- 22. सदस्य के रूप में सूचक या सदस्य
- 23. PostgreSQL: एक plpgsql समारोह के भीतर एक लेनदेन वापस रोलिंग?
- 24. प्रवेश जावास्क्रिप्ट वर्ग चर एक वर्ग समारोह
- 25. decltype (समारोह) वर्ग के सदस्य के रूप में
- 26. सी ++ में, निर्माण के दौरान 'इस' सूचक के साथ एक वर्ग सदस्य प्रारंभ करें
- 27. सदस्य समारोह
- 28. एक संरचना के भीतर सदस्य के लिए एक सूचक को देखते हुए, एक दिनचर्या लिखें जो संरचना
- 29. एक defun के भीतर एक समारोह को कैसे परिभाषित करें?
- 30. एक समारोह सूचक के रूप में एक प्रतिनिधि को परिभाषित करना
संपादन के लिए धन्यवाद :) –
... कोई समस्या नहीं;) – neuviemeporte