Hi,
ich bin gerade dabei, ein wenig c++ zu lernen, habe aber ein sehr komisches Problem bei der Funktionsübergabe eines long double. Am besten gebe ich einfach mal die source her, ich habe mit g++ kompiliert.
----------------------------------------------------
#include <iostream>
using namespace std;
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;
}
}
long double summe(long double *f, int n)
{
return summe(0, f, n);
}
int main(void)
{
long double x[10];
for(int i=0;i<10;i++)
{
cout << "Bitte Wert " << i+1 << " eingeben \n";
cin >> x[i];
}
cout << "Summe aller Zahlen ist " << summe(x,10) << "\n";
}
---------------------------------------
Kann sich jemand erklären, warum ich im cout-Aufruf der summe-Funktion noch das richtige Ergebnis bekomme, sobald ich aber dieselbe Variable an main übergebe, immer totaler Mist rauskommt?
Schöne Grüße,
Jens