ThreadQueue.h: ------------------------------------------ #include #include template class ThreadQueue { public: void insert(T& elem); T get(); private: boost::mutex lock; queue q; // <-- it complains here }; ------------------------------------------ g++ -I/home/merten/local/include/boost-1_34 -O0 -g3 -Wall -c -fmessage-length=0 -pthread -MMD -MP -MF"src/Consumer.d" -MT"src/Consumer.d" -o"src/Consumer.o" "../src/Consumer.cpp" In file included from ../src/Consumer.h:5, from ../src/Consumer.cpp:3: ../src/ThreadQueue.h:15: error: 'queue' is used as a type, but is not defined as a type.