2016-10-19 2 views
-5

Ich bekomme einen Fehler auf meinem Code unten in der else: Kontrolle erreicht Ende der nicht-void-Funktion?C++ Fehler mit Xcode

double arrival(double x){ 

    x=temp->sim_time; 
    e=temp->eventtype; 

    insert_nextevent((x+ (-log(rand())/lamda)), 'A'); 

    if(server ==0){ 
     server =1; 
     insert_nextevent((x +(-log(rand())/mu)), 'D'); 
    } 

    else{ 

      numqueue++; 
    } 

} 

double departure(double x){ 

    x=temp->sim_time; 
    e=temp->eventtype; 

    if(numqueue==0){ 
      server =1; 
    } 
    else { 
      numqueue--; 
      insert_nextevent((x+ (-log(rand())/mu)), 'D'); 
    } 

} 
+5

Sie haben vergessen, einen Wert zurückzugeben, was ist unklar an diesem Fehler? –

+0

Warum nehmen Sie überhaupt einen Eingabeparameter, wenn Ihre Funktion das erste Mal überschreibt? – UnholySheep

+2

Ihr Problem hat mit Xcode absolut nichts zu tun. –

Antwort

0

Sie müssen die Grundlagen von C++ (oder Programmierung) überprüfen. Wenn eine Funktion mit einem Rückgabetyp deklariert wird, muss ein Wert zurückgegeben werden. Funktionen können auch als ungültig erklärt werden. In diesem Fall geben Sie keinen Wert zurück. z.B;

void myFuncA(aType aParam); 
    int myFuncB(aType aParam); 

Die erste Funktion gibt keine Werte zurück, die zweite gibt einen int zurück. Ihr Code oben ist von der zweiten Form, so muss es eine Rückgabeanweisung mit einem Wert des richtigen Typen haben.

+0

danke für Hilfe – Marya