我想知道你是否可以帮助我弄清楚我在这里做错了什么。我有
public class SingleLinkedList<T> where T : IComparable
{
private class Node
{
public T Val;
public Node Next;
}
private Node _root = null;
/// <summary>
/// Initialize list from array
/// </summary>
/// <typeparam name="T"></typeparam>
public SingleLinkedList<T> (T[] arr)
{
}
// ...
}
我的编译器不喜欢(T[] arr)
并且正在说
无效的令牌'('在类,结构或接口声明中
这里的语法是什么?
答案 0 :(得分:2)
删除泛型类型参数:
public SingleLinkedList (T[] arr)
{
}
type参数是类声明的一部分,不是构造函数声明的一部分。构造函数的参数类型将是该类使用的类型。
答案 1 :(得分:1)
从构造函数中删除type参数,暗示:
public SingleLinkedList(T[] arr)
{
}
答案 2 :(得分:1)
您不应该将<T>
添加到构造函数定义中。
/// <summary>
/// Initialize list from array
/// </summary>
/// <typeparam name="T"></typeparam>
public SingleLinkedList(T[] arr)
{
}