2012-04-12 6 views
0

私はC++アプリケーションで最も基本的なスレッドを可能にしようとしています。これはRun()(near-infiniteループ)、スレッドの結果として他の関数を呼び出すことができます。このチュートリアルを1としてC++エラーのシンプルなスレッド - 'Lib'は宣言されていません

http://www.codeproject.com/Articles/16479/Effective-Threads-in-C-Part-1-The-Basic-Thread-Cla

私はMyClassの中のオブジェクトのヘッダファイル(ファイル名を指定して実行()関数を持つクラス)を作成しました:私は次のエラーを取得するしかし

private: 
    Lib::Thread<MyClass, int> listenerThread; 

を:

MyClass.h:23: error: ‘Lib’ has not been declared 

何かを含める必要がありますか?ここでの問題は何ですか?

+0

'Thread'のヘッダを含めましたか? 'Thread'は実際に' namespace Lib'にありますか?いずれにせよ、あなたは、[Boost.Thread](http://www.boost.org/libs/thread/)のような、確立され、テストされ、文書化されたライブラリをいくつかのランダムコードオンラインで見つけた – ildjarn

+0

1行の転記は文脈から完全に外れていると無意味です。誰かがあなたを助けることができるように実際のコードを提供してください。あなたが聞いたことは、あなたの医者に電話をかけて「私の体が痛い」と言うことに相当します。何が間違っていますか?答えを期待しています。 –

答えて

0

彼らのプロジェクトはLib名前空間にあります。

あなたの目的のために、おそらくちょうどLib::コードの一部を取り除くことができます。

それ以外の場合は、名前空間を使用しているか、名前空間内にいる必要があります。名前空間の詳細については、http://www.cplusplus.com/doc/tutorial/namespaces/を参照してください。

+0

"Lib ::"部分を削除した場合、2つの新しいエラーが発生します:(1)ISO C++は型なしの 'スレッド'の宣言とAND(2) before <トークン。両方のエラーは、その行から生成されます。残りのコードはコンパイルされます。 – CodeGuy

+0

@ CodeGuyあなたは 'Thread'ヘッダを含んでいますか?例えば#include "Thread.h"? –

+0

いいえ私はそうではありません。私は彼らのThread.hクラスをダウンロードする必要がありますね。しかし私はダウンロードリンクを見つけることができません。 – CodeGuy

関連する問題