Задержка в методе задержки всей программы - PullRequest
2 голосов
/ 20 февраля 2011

У меня есть два метода, например, delayloop () и function (), где delayloop () имеет задержку времени и времени () для его повторения каждые n секунд.

Если в моем main, явызов:

delayloop();

затем

function();

Метод function () никогда не вызывается, так как метод цикла до того, как кажется, предотвращает его.

Что такоеспособ предотвратить передачу приложением функции delayloop ()?

Редактировать:

delayloop ();

void delayloop() {
boolean delay = true;
while (delay){
    time_t start_time, cur_time;

         time(&start_time);
         do
         {
                time(&cur_time);
       }
      while((cur_time - start_time) < 5);   

 cout << "+5 seconds" << endl;

}   

}

Ответы [ 4 ]

2 голосов
/ 21 февраля 2011

В нормальных условиях управление проходит последовательно через вашу программу.Если вы введете бесконечный цикл перед строкой function(), то function никогда не будет вызван.Таким образом, может показаться, что у вас есть ошибка в функции delayloop, и это помогло бы, если бы мы могли увидеть код.

Там у нас это есть.Вы никогда не установите delay в false, поэтому мы входим в бесконечный цикл.

0 голосов
/ 21 февраля 2011

Ты никогда не меняешься delay;нет выхода из цикла.Трудно посоветовать вам, как это изменить, не зная, что вы хотите delayloop() сделать.

0 голосов
/ 21 февраля 2011

вы никогда не меняете состояние задержки, поэтому оно всегда будет оставаться верным, и цикл будет выполняться бесконечно.

0 голосов
/ 21 февраля 2011

замените цикл while на цикл for в delayloop ().

(при условии, что условие выхода для цикла while никогда не выполняется, и вы исправите его, чтобы было легче понятьцикл ... но это длинный путь, не видя код и не понимая цели этих двух функций)

Редактировать после добавления кода:

Первое условие while всегдаtrue (delay не изменяется), поэтому блокируется.замените его на if.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...