我该如何在头文件中实现睡眠和睡眠。这是我到目前为止所尝试的,并且不起作用。我还不是很精通C++。我知道可以通过注释掉HTML中的相似内容,并且每个浏览器都使用特定的代码。通过创建一个类来决定使用哪一个睡眠和互相使用休眠睡眠
这是我与实践样本:
help.cpp使用的#ifdef的#else #ENDIF得到它的窗口之间的工作
#include <iostream>
#include "pause.h"
using namespace std;
int main() {
pause p;
cout << "Hello";
p.pause(5000)
cout << " World";
}
有人在另一个线程和建议LINUX/UNIX
pause.h
#ifdef _WIN32
#include <windows.h>
class pause
{
public:
void pause(unsigned milliseconds)
{
Sleep(milliseconds);
}
};
#else
#include <unistd.h>
class pause
{
public:
void pause(unsigned milliseconds)
{
usleep(milliseconds * 1000); // takes microseconds
}
};
#endif
不知何故,我必须写错了类,因为运行我的.cpp文件它不能识别我尝试创建的类或对象。
错误
Running /home/ubuntu/workspace/help.cpp
In file included from /home/ubuntu/workspace/help.cpp:2:0:
/home/ubuntu/workspace/pause.h:20:41: error: return type specification for constructor invalid
void pause(unsigned milliseconds)
^
/home/ubuntu/workspace/help.cpp: In function ‘int main()’:
/home/ubuntu/workspace/help.cpp:9:7: error: expected ‘;’ before ‘p’
pause p;
^
/home/ubuntu/workspace/help.cpp:13:1: error: ‘p’ was not declared in this scope
p.pause(5000)
^
/home/ubuntu/workspace/help.cpp:15:1: error: expected ‘;’ before ‘cout’
cout << " World";
^
Process exited with code: 1
忽略构造函数定义中的'void'返回类型。 –
回复:“我将如何实现睡眠并在头文件中休眠” - 您不**执行它们;他们已经被执行了,你需要**调用**或**使用**。 –