どのようにして、sleepとusleepをヘッダファイルに実装しますか?これは私がこれまでに試したことであり、うまくいきません。私はまだC++に堪能ではありません。私はコメントアウトしてHTMLで似たようなことをすることが可能で、各ブラウザはそれに固有のコードを使用することが可能であることを知っています。sleepとusleepの使い分けはどちらを使うかを決めるクラスを作成することで実現します
これは私がして練習していたサンプルである:別のスレッドで
help.cpp
#include <iostream>
#include "pause.h"
using namespace std;
int main() {
pause p;
cout << "Hello";
p.pause(5000)
cout << " World";
}
誰かがそれが窓との間で動作させるために#ifdefのの#else #endifのを使うことを提案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'リターンタイプを省略します。 –
Re:「どのように私はsleepとusleepをヘッダファイルに実装するでしょうか?彼らはすでに実装されている、あなたは**それらを呼び出す**またはそれらを**使用する必要があります。 –