У меня есть программа, которая должна рассчитывать от 10 до 0, и каждый раз, когда она подсчитывает, она должна ждать одну секунду, а затем вывести вывод с помощью cin.flush(). Профессор продемонстрировал это в классе, и он отлично работал, однако, когда я возвращаюсь домой, Xcode дает мне ошибку, говоря, что _sleep (1000) - это использование необъявленного идентификатора «_sleep» - который не должен быть так, как я импортировал специальные команды, и он должен использовать _sleep в компиляторах Windows.Почему _Sleep (1000) не компилируется в Xcode?
Короче говоря, это необходимо скомпилировать как в windows, так и в компиляторах Mac, которые я должен выполнять с помощью этих определений компилятора. Но по какой-то причине Xcode продолжает пытаться сказать мне, что это неправильно.
#ifdef GPP
#include <unistd.h>
#else
#include <cstdlib>
#endif
int main()
{
for (int timer = 10; timer >= 0; timer--)
{
cout << timer;
cout.flush();
//compiler functions
#ifdef GPP
Sleep(1); //One second to sleep on GPP compilers
#else
_sleep(1000);//On windows 1000ms sleep time
#endif
cout << '\r';
}
}
если вы используете Xcode, то скорее всего, вы не программируя на Windows, вы? поэтому, почему вы даже ожидаете, что функция, специфичная для Windows, будет работать? –
Хорошо, мой учитель жаловался на совместимость на своем компьютере, и она использует ПК, поэтому я должен как-то включить это. –
Даже если она жалуется, вы не сможете использовать функции Windows API на OS X. Их просто нет. –