我正在尝试从我创建的链接列表返回一个引用/指针节点。这是我的类和方法返回节点,当我传递一个值时,它在我的列表中查找,但编译器给了我三个错误: 1错误C2143:语法错误:缺少';'在'*'之前 2错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int 3错误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;
}
答案 0 :(得分:0)
由于您有一个依赖的限定名称,因此您应该使用typename
消歧器:
template <class Type>
typename LinkedList<Type>::Node* LinkedList<Type>::FindNode(Type _value)
// ^^^^^^^^
否则编译器不会将Node
解析为类型的名称。