0

2 番目の機能ではなく、最初の機能が機能しない理由がわかりません。

#include <boost/bind.hpp>
#include <boost/function.hpp>

#include "concurrentQueue.h";
class TestClass {
    public:              
                static concurrentQueue<function<void()>> notW;

                static concurrentQueue<int> Works;
}

また、concurrentQueue クラスの先頭も添付します。

template<class Data> class concurrentQueue
4

2 に答える 2

2

の中にスペースを入れて>>、右シフト演算子として扱われないようにします。

static concurrentQueue<function<void()> > notW;

C++11 コンパイラでは、可能な場合、コンパイラは山かっこをテンプレート引数リストを閉じるものとして解釈するため、これは必要ありません。

于 2011-12-24T15:57:15.107 に答える
2

C++ 03 以前では、2 つの閉じ山括弧の間にスペースが必要です。これは、新しい 2011 標準で「修正」されています。

詳細については、たとえばこの質問を参照してください。

于 2011-12-24T15:58:30.397 に答える