मैं एक रिकर्सिव फ़ंक्शन लिखने की कोशिश कर रहा हूं, लेकिन लाइन में त्रुटि प्राप्त करें: n + sum (n-1); मेरा कंपाइलर जर्मन है, इसलिए त्रुटि संदेश का एक खराब अनुवाद होगा: "शून्य मान को मानने के रूप में अनदेखा नहीं किया गया"। मदद के लिए धन्यवाद!एक पुनरावर्ती समारोह में एक त्रुटि को समझना?
void sum (int n)
{
if(n==0)
{
cout << n << endl;
}
else if(n>0)
{
n + sum(n-1);
cout << n << endl;
}
}
int main()
{
sum(3);
return 0;
}
आप 'void' कार्यों से मान वापस नहीं लौट सकते और उनसे वापसी मूल्य नहीं मिल सकता है। –
ऐसा इसलिए है क्योंकि वह रेखा कुछ भी नहीं करती है। –
यह एक बहुत अच्छा अनुवाद है, और यह सही है। आपको किसी फ़ंक्शन के रिटर्न वैल्यू को अनदेखा करना (उपयोग नहीं करना) है जो शून्य लौटाता है। – rici