यह सी/सी++ फ़ंक्शन कॉल पहेली एक पहेली है जिसका उद्देश्य प्रोग्रामिंग भाषाओं सी और सी++/ दोनों में विधि कॉलिंग के व्यवहार के बारे में अधिक पता लगाना है।
सी और सी ++ में एक विधि का आउटपुट अलग है। आइए देखें कि C और C++ में कॉलिंग विधियों में क्या अंतर है।
आइए एक उदाहरण लेते हैं और c और c++ में नीचे दिए गए कोड के आउटपुट की जांच करते हैं।
उदाहरण
void method() { // Print statement } int main() { method(); method(2); }
आउटपुट
C++ के लिए -
Error : too many arguments to function ‘void method()’
सी के लिए -
Program runs without any error.
आउटपुट और त्रुटि के पीछे तर्क
C++ प्रोग्रामिंग लैंग्वेज के लिए कंपाइलर फंक्शन मेथड () को बिना किसी पैरामीटर के फंक्शन के रूप में मानते हैं जबकि C कंपाइलर में एक ही फंक्शन काफी कुशलता से काम करता है क्योंकि कंपाइलर फंक्शन मेथड () को एक फंक्शन के रूप में मानता है जो वैरिएबल तर्क को स्वीकार कर सकता है।
इसके कारण i C++ जब हम किसी ऐसी विधि के लिए तर्क देते हैं जिसकी परिभाषा में कोई पैरामीटर नहीं है, तो आउटपुट विंडो में एक त्रुटि संकेत होगा 'त्रुटि:'शून्य func ()' कार्य करने के लिए बहुत सारे तर्क।
और सी में, पारित तर्क स्वीकार किए जाते हैं और फ़ंक्शन के अंदर कोड निष्पादित किया जाता है।