मैं समझने के लिए 2 घोषणाओं, f1
और f2
, नीचे के बीच अंतर है करना चाहते हैं: f1
में मैं पैरामीटर घोषित प्रकार void()
के एक समारोह के लिए एक सूचक हो सकता है, f2
घोषणा f1
से अलग कैसे है ? क्या घोषणा बराबर है? main
में मैं दोनों प्रोटोटाइप void()
के कार्यों के साथ इनका आह्वान कर सकता हूं। मैं मूल्य/सूचक/संदर्भ से गुज़रने की अवधारणा को समझता हूं, हालांकि ये कार्य हैं और वास्तव में अंतर को समझ नहीं पाते हैं। ऐसा नहीं है कि मैं f1
में पैरामीटर के रूप में पारित फ़ंक्शन को "संशोधित" कर सकता हूं ... धन्यवाद!फ़ंक्शन पैरामीटर बनाम फ़ंक्शन पैरामीटर के लिए सूचक?
पुनश्च: जब अच्छी तरह से ज्ञात सबसे अप्रिय पार्सिंग समस्या में जोड़ने से :)
#include <iostream>
using namespace std;
void f1(void (*x)())
{
x();
}
void f2(void x())
{
x();
}
void g1()
{
cout << "Invoking f1(g1())" << endl;
}
void g2()
{
cout << "Invoking f2(g2())" << endl;
}
int main()
{
f1(g1);
f2(g2);
}
इस सवाल से आया कार्यक्रम संकलित करता है तथा उत्पादन
Invoking f1(g1())
Invoking f2(g2())
धन्यवाद सब, इसे मिला :) – vsoftco