Я достаточно новичок в C ++ и имею ограниченный опыт работы с шаблонами.В данный момент я пытаюсь реализовать параллельную очередь на основе приведенного примера здесь .У меня возникают проблемы при компиляции, и я получаю сообщение о том, что «ISO C ++ запрещает объявление« очереди »без типа», даже после того, как я сократил код до следующего простого примера:
template<typename Data> class concurrent_queue {
private:
std::queue<Data> the_queue;
public:
void push(Data const& data) {
the_queue.push(data);
}
bool empty() const {
return the_queue.empty();
}
void pop(Data& popped_value) {
popped_value=the_queue.front();
the_queue.pop();
}
};
int main(int argc, char** argv) {
concurrent_queue<std::string> Q;
// Simple test code will go here
}
Янемного озадачен этим, так как я предоставил тип «Данные» для очереди.Может кто-нибудь помочь мне указать, что я сделал неправильно?