मुझे हाल ही में पता चला है कि सी ++ में संदर्भ-से-फ़ंक्शन अवधारणा है :)। इसलिए पॉइंटर-टू-फ़ंक्शन और पॉइंटर-टू-सदस्य-फ़ंक्शन विभिन्न प्रकार हैं। सवाल उठता है। क्या कोई "संदर्भ-से-सदस्य-कार्य" अवधारणा है?सदस्य समारोह के लिए संदर्भ?
मैंने निम्नलिखित कोड को संकलित करने का प्रयास किया, लेकिन जीसीसी 3.4.6 एक त्रुटि देता है।
#include <iostream>
using namespace std;
class A {
public:
virtual void Af() const {
cout << "A::Af()" << endl;
}
};
int main() {
typedef void (A::& MemFnc)() const;
MemFnc mf = &A::Af;
A a;
(a.*mf)();
return 0;
}
जीसीसी 3.4.6? आपको कंपाइलर को अपडेट करने पर विचार करना चाहिए। साथ ही, जब संकलक त्रुटियों को ट्रिगर करने वाले कोड के बारे में पूछते हैं, तो आमतौर पर वास्तविक त्रुटि संदेश (आउटपुट में पहली त्रुटि से शुरू) प्रदान करना और संकलक शिकायत करने वाली रेखा की पहचान करना एक अच्छा विचार है। –
मुझे जीसीसी अपडेट करने की कोई अनुमति नहीं है :(। मैंने त्रुटि कोड प्रदान नहीं किया क्योंकि मुझे लगता है कि इस मामले में इससे कोई फर्क नहीं पड़ता कि यह किस प्रकार की त्रुटि देता है, आवश्यक हिस्सा यह है कि यह इस वाक्यविन्यास को समझ में नहीं आता है। – MKo
यदि सदस्य का संदर्भ होगा, तो इसका उपयोग करने के लिए किस वाक्यविन्यास का उपयोग किया जाना चाहिए? एक सूचक-से-सदस्य का उपयोग '। *' के साथ किया जाता है, इसलिए आम उपयोग से पता चलता है कि सदस्य के संदर्भ में केवल स्टार छोड़ना चाहिए, जो बाहर निकलता है सादा होने के लिए '.' ?! जो सामान्य सदस्य का उपयोग करने जैसा बिल्कुल है। – Sjoerd