如何在C ++中执行正确的模板输出

在这部分代码中,我在MSVS项目中遇到此错误

ostream& getStream(ostream& out)
    {
        for (Node* temp = head; temp; temp = temp->next)
            out << temp->info << " ";
        return out;
    }

错误C2679二进制“ <<”:未找到接受类型为“ T”的正确操作数的运算符(或没有可接受的转换)

template <class T>
class MyList
{
protected :
    struct Node
    {
        T info;
        Node* next;
        Node(T info, Node* next = 0) :
            info(info),
            next(next)
        {}
    };

    Node* head;
    ostream& getStream(ostream& out)
    {
        for (Node* temp = head; temp; temp = temp->next)
            out << temp->info << " ";
        return out;
    }
public:
    MyList();
    ~MyList();

    template <class T1>
    friend ostream& operator<<(ostream& os, MyList<T1>& list);

    void Insert(T info, int index);
    int Count();
    void Remove(int index);
    void PopFront();
    void PushFront(T Data);
    void PopBack();
    void PushBack(T Data);
};

这是我班的声明 我不知道如何解决它, 非常感谢您能不能尝试帮助我 很抱歉,如果描述不好,我只会开始

评论