2015-10-15 6 views
5

Scrivo la classe della coda. Ma quando uso Mac OSX per creare il mio progetto, ho incontrato qualche problema. Quando il file h piace questo:C++ quando si utilizza l'errore modello <class T>: .. non è una classe

template<class Queue_entry> 
class MyQueue { 
    public: 
    MyQueue(); 
    bool empty() const; 
    // add entry in the tail of the queue 
    Error_code append(Queue_entry &x); 
    // throw the entry of the front 
    Error_code serve(); 
    // get the front entry of the queue 
    Error_code retrieve(Queue_entry &x) const; 
protected: 
    Queue_entry entry[MAXQUEUE]; 
    int count; 
    int front, rear; 
}; 

apparire errore nel cpp file.Error:

MyQueue.cpp:17:1: 'MyQueue' is not a class, namespace, or enumeration 

Io non so come si arriva wrong.But quando cambio il modello

#define Queue_entry int 

può essere eseguito correttamente.

risposta

6

Quando si chiede il mio compagno di classe lo so che dovrebbe essere

template <class Queue_entry> 
MyQueue<Queue_entry>::MyQueue() {} 

Quindi questo problema è risolto. Dovrei ricordare il formato.

+1

'class'mate haha ​​ Grazie per la soluzione, è possibile contrassegnare questa domanda come risposta :) –

Problemi correlati