-2

我正在尝试从我创建的链接列表中返回一个引用/指针节点。这是我的类和方法返回节点,当我传递一个值时,它会在我的列表中查找,但编译器给了我三个错误:1-error C2143: syntax error: missing ';' 在“*”之前 2 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int 3-error C1903:无法从先前的错误中恢复;停止编译

有人可以帮我吗?非常感谢!

template <class Type>
class LinkedList
{
private:
struct Node
{
    Type value;
    Node* next;
};
    Node* list;
public:

//Other functions here

Node* FindNode(Type);

};

template <class Type>
LinkedList<Type>::Node* LinkedList<Type>::FindNode(Type _value)
{ 
Node* q = first;
while(q != NULL && q->value != _value)
    q = q->next;
return q;
}
4

1 回答 1

0

由于您有一个从属的限定名称,因此您应该使用typename消歧器:

    template <class Type>
    typename LinkedList<Type>::Node* LinkedList<Type>::FindNode(Type _value)
//  ^^^^^^^^

否则编译器不会解析Node为类型的名称。

于 2013-04-28T16:42:48.840 回答