2016-10-19 2 views
-5

Я получаю сообщение об ошибке в моем коде ниже в else: control достигает конца функции non-void?Ошибка C++ с использованием 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

Вы пропустили, чтобы вернуть значение, что неясно об этой ошибке? –

+0

Почему вы даже принимаете входной параметр, если первое, что делает ваша функция, это перезаписать его? – UnholySheep

+2

Ваша проблема не имеет ничего общего с Xcode. –

ответ

0

Вам необходимо ознакомиться с основами C++ (или программирования). Когда функция объявляется с типом возвращаемого значения, она должна возвращать значение. Функции также могут быть объявлены недействительными. В этом случае вы не возвращаете значение. например;

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

Первая функция не возвращает значений, вторая должна возвращать значение int. Ваш код выше имеет вторую форму, поэтому он должен иметь оператор return со значением правильного типа.

+0

спасибо за помощь – Marya

Смежные вопросы