-3

テンプレート クラス内にテンプレート メンバー クラス パラメーターを書き込むための現在の構文は何ですか。

これは私がやろうとしていたことです:

template <class T>
    class Node
    {
    public:
        Node(); // constructor 
        Node(const Node<T> &);           // copy constructor 
        ~Node();             // destructor
        T value;
        Node *next;
    };


template <class T> 
class Linked_list
{
public:
    Linked_list(); // constructor 
    Linked_list(const Linked_list<T> &); // copy constructor 
    ~Linked_list();             // destructor
    T pop();
    void push(T value);
    T top();
    bool is_empty();
    void clear();

private:
    Node<T> *head; // COMPILER ERROR
};

なぜこれはコンパイラ エラーですか?

Node<T> *head; // COMPILER ERROR
4

1 に答える 1

2

おそらくあなたが電話するとき:

Node<T> *head;

T はオブジェクト型ではなく、それを構築する方法を知りません。試す:

Node<std::string> *head;

またはそのようなもの。T はオブジェクト型ではなく、変数名と同じですが、実際にはクラス Node および LinkedList 内の変数型です。

于 2013-01-17T23:14:11.703 に答える