Hello,
long double summe(long double s, long double *f, int n)
{
if(n>1)
{
summe(s+*f++, f, n-1);
}
else
{
cout << "Berechneter Wert ist " << s << "\n" << s << ", jetzt erfolgt die funktionsübergabe: \n";
// return s;
}
return s;
}
Also meiner Meinung nach gehört das "return s" nach unten
C++ ist zwar recht merkwürdig gestrickt, aber warum sollte die Einstirgsstuf der Rekursion etwas zurückgeben, wenn Du es ihr nicht sagst?
Dein Ergebnis steht nämlich in der globalen Variable s und
cout << "Summe aller Zahlen ist " << summe(x,10) << "\n";
-----------
hat überhaupt keinen Rückgabewert, da "summe(0, f, n)" keinen hat.
Das ist ein Standardproblem bei unstrukturierter Programmierung.
Hättest Du Nassi-Shniderman beherzigt, dann wäre es Dir aufgefallen.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg