我有以下节点:

template <class T>
struct ListItem
{
    T value;
    ListItem<T> *next;
    ListItem<T> *prev;

    ListItem(T theVal)
    {
        this->value = theVal;
        this->next = NULL;
        this->prev = NULL;
    }
 };


我必须声明此listitem的一个实例。我知道如何声明不是模板的结构实例,如下所示:

node* x = new node;
 x = head; (or whatever)


现在我该怎么办?如果我按照上述步骤进行操作,那么我认为我应该执行以下操作:

ListItem<T>* temp = new ListItem<T>;


但是编译器给出的错误是,在行上方没有匹配的函数,并且ListItem需要1个参数。
快速帮助

最佳答案

您需要为构造函数提供一个值!

关于c++ - 声明模板结构的实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14734749/

10-11 22:53