Problem mit der Rückgabe!
-
Hallo Leute, kann jemand mir bei dem Code helfen, den ich unten schreibe.
bool CTarif::monoton_steigend() { bool c; for(int i = 1; i <= AnzPolynom; i++) { if(Polynom[i].Ableitung().Wert(Intervall_rechts[i]) >= 0) c = true; else { c = false; return c; } } }
Es geht um den Rückgabewert. Beim Aufruf gibt die Funktion nicht den richtigen Wert. Wie kann ich die Schleife abbrechen, wenn es beim ersten Mal false zurückgegeben wird? :(
-
Jeder halbwegs vernünftige Complier sollte dir zu deinem Codefragment einen Fehler ausgeben. Du hast nämlich vergessen ein return vorzusehen wenn deine If-condition auf ">=0" immer wahr ist.
Das dieser Code zu einem ausführbaren Programm führt kann ich kaum glauben. Einen Returnwert zu definieren ohne wirklich in jedem Fall einen Wert zurückzuliefern funktioniert meines Wissens nach nur bei int main().Wahrscheinlich sollte dein Code wie folgt aussehen.
bool CTarif::monoton_steigend() { for (int i = 1; i <= AnzPolynom; i++) if (Polynom[i].Ableitung().Wert(Intervall_rechts[i]) < 0) return false; return true; }
mfg JJ