इसलिए जब मैं कुछ लंबा संकलन कर रहा हूं तो मैंने ओडिसी पर सी ++ सामान्य परीक्षण लेने का फैसला किया और इस सवाल पर आया।
अगर मैं गलत नहीं हूँ, तो शब्दांकन (या उसके अभाव) को देखते हुए ये सब सच हो सकता है।
ए।
int Foo() { }
int Foo(int bar) { }
ख।
अच्छी तरह से, return void;
शब्दार्थिक रूप से गलत होगा , लेकिन फ़ंक्शन स्पष्ट रूप से void
रिटर्न प्रकार हो सकते हैं।
void Foo() { }
सी। यह इनलाइन फ़ंक्शन की परिभाषा है, हाँ।
घ। निम्नलिखित तत्वों की नियुक्ति के बारे में अधिक जानकारी के बिना,
typedef void (*Func)(int);
Func functions[2];
void Foo(int bar) { }
void Bar(int foo) { }
functions[0] = &Foo;
functions[1] = &Bar;
इसके अलावा, आप लैम्बदास और फंक्शनलर्स का उपयोग करके हमेशा ऐसा कर सकते हैं ।
इ।
void Foo(int& bar)
{
++bar;
}
int foobar = 5;
Foo(foobar);
च।
int bar = 5;
int& GetBar()
{
return bar;
}
GetBar() = 6;
जी।
int bar = 5;
int* GetBar()
{
return &bar;
}
(*GetBar()) = 5;
मैं यह देखने में विफल हूं कि इस प्रश्न का कोई सही गलत उत्तर कहां है। क्या मैं कुछ भूल रहा हूँ?
कहने की जरूरत नहीं कि मैं समय से बाहर भाग गया और पूरी बात को विफल कर दिया। मुझे लगता है कि मैं एक बुरा C ++ प्रोग्रामर हूं। :(